1 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
3 * docs/design/part-TODO.txt:
4 Mumble something about removing GstXML.
6 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
8 * gst/gstbin.c: (gst_bin_handle_message_func):
9 Get the seqnum before we dispose the message.
11 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
13 * docs/design/part-TODO.txt:
14 Refer to the framestepping document.
16 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
18 * gst/gstbin.c: (bin_handle_async_start),
19 (gst_bin_handle_message_func), (gst_bin_query):
20 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
21 (gst_base_sink_event), (gst_base_sink_change_state):
22 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
23 (gst_base_src_loop), (gst_base_src_change_state):
24 Copy seqnums from events to messages so that they can all be related
27 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
29 * tools/gst-launch.c: (event_loop):
30 Print the message seqnums.
32 2008-11-04 Andy Wingo <wingo@pobox.com>
34 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
36 2008-11-04 Andy Wingo <wingo@pobox.com>
38 Add sequence numbers to events and messages. See #559250.
40 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
44 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
45 events with a new sequence number, and copy it when copying.
46 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
47 an event's sequence number.
50 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
51 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
54 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
56 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
58 * docs/manual/advanced-position.xml:
59 * docs/manual/basics-bins.xml:
60 * docs/manual/basics-bus.xml:
61 * docs/manual/basics-pads.xml:
62 * docs/manual/intro-gstreamer.xml:
63 * docs/manual/intro-preface.xml:
64 Some Application Development Manual fixes thanks to
65 Andrew Feren. Fixes #558459.
67 2008-11-03 Stefan Kost <ensonic@users.sf.net>
69 * gst/gstregistrybinary.c:
70 Don't bother with the GTimer if we don't output the results.
72 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
74 Patch by: David Schleef <ds@schleef.org>
76 * libs/gst/net/Makefile.am:
77 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
79 2008-10-31 Stefan Kost <ensonic@users.sf.net>
81 * gst/gstregistrybinary.c:
82 Oh my, studip, stupid me. Remove double stat() call.
84 2008-10-31 Stefan Kost <ensonic@users.sf.net>
87 Use g_unlink instead of unlink.
98 Formatting & whitespaces.
100 2008-10-31 Stefan Kost <ensonic@users.sf.net>
102 * plugins/elements/gstidentity.c:
103 Doc typo. Use return value of parent_class->event.
105 * plugins/elements/gsttypefindelement.c:
106 Chain up at the end for consistency.
108 2008-10-30 Stefan Kost <ensonic@users.sf.net>
111 * docs/gst/gstreamer-docs.sgml:
112 * docs/gst/gstreamer-sections.txt:
113 * docs/gst/running.xml:
114 * docs/libs/gstreamer-libs-docs.sgml:
115 Change to xinclude based build - its faster and easier to maintain.
117 2008-10-30 Stefan Kost <ensonic@users.sf.net>
119 * gst/gstregistrybinary.c:
120 * gst/gstregistryxml.c:
121 Use g_unlink() as none of these are directories.
123 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
125 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
128 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
130 * libs/gst/base/gstbasetransform.c:
131 (gst_base_transform_find_transform), (gst_base_transform_getrange):
132 If we have a fixate function, call it even if we already have fixed caps
133 because the subclass might add some caps. Makes audioconvert add a
134 default channel layout.
136 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
138 * libs/gst/base/gstbasetransform.c:
139 (gst_base_transform_prepare_output_buffer),
140 (gst_base_transform_getrange):
141 Clear the output buffer variable.
142 Cleanups to the error path in the getrange function.
145 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
147 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
148 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
149 Use gst_buffer_try_new_and_alloc() and handle errors instead of
150 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
153 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
155 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
156 Set the last_stop to a more meaningful position when configuring the
157 segment. ie. the start/stop of the segment or clipped against the
158 updated segment boundaries.
160 * tests/check/gst/gstsegment.c: (GST_START_TEST):
161 Add some unit tests for the last_stop.
163 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
165 * libs/gst/base/gstbytereader.c:
166 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
169 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
171 * docs/gst/gstreamer-sections.txt:
173 API: Move float endianness conversion macros from libgstfloatcast
174 to core as it's useful in general, even in core. Fixes bug #555196.
175 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
176 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
177 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
179 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
180 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
181 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
182 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
184 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
186 * docs/libs/gstreamer-libs-sections.txt:
187 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
188 (gst_byte_reader_peek_data):
189 * libs/gst/base/gstbytereader.h:
190 * win32/common/libgstbase.def:
191 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
192 to get a pointer to the data at the current position and have
195 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
198 Fix a bug in the output of the configure script summary
199 when --gst-disable-registry is supplied
201 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
203 * libs/gst/base/gstbitreader.c:
204 * libs/gst/base/gstbytereader.c:
205 Fix the names of 2 functions in the docs strings.
207 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
209 * libs/gst/base/gstbasetransform.c:
210 (gst_base_transform_prepare_output_buffer),
211 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
212 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
213 refcount problems as seen in banshee and maybe also in farsight2.
214 Remove atomic int now that we need to take the lock anyways.
216 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
218 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
219 (gst_base_sink_default_prepare_seek_segment),
220 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
221 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
222 (gst_base_sink_query):
223 Implement more seeking in pull mode.
224 Use pad convert functions to convert position to the requested format.
225 Fix position/duration reporting in pull mode.
226 Implement position and duration reporting in other formats than time.
228 * libs/gst/base/gstbasesink.h:
229 Add member to keep track of when the segment is playing.
231 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
233 * gst/gstpad.c: (gst_pad_configure_src):
234 When we use gst_pad_alloc_buffer() without wanting to set the caps we
235 also don't need to check if the caps are compatible because the caller
236 presumably is going to perform its own custom checks. Fixes some cases
237 where basetransform elements would error out when it was not needed.
239 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
241 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
244 * libs/gst/base/gstbasetransform.c:
245 (gst_base_transform_handle_buffer),
246 (gst_base_transform_reconfigure):
249 * win32/common/libgstbase.def:
252 2008-10-19 Stefan Kost <ensonic@users.sf.net>
254 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
255 Remove duplicated assignment and log a message in failure case.
257 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
259 Patch by: Dig Ge <dig.ge.cn at gmail com>
261 * tests/examples/helloworld/helloworld.c: (main):
262 Fix copy'n'paste bug in hello world example (#556900).
264 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
266 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
267 (gst_base_sink_query):
268 Query the total number of bytes when activating the pad in pull mode.
269 Implement duration query in pull mode by using the installed pad convert
270 function to convert from bytes to the requested format.
272 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
274 * docs/libs/gstreamer-libs-sections.txt:
275 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
276 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
277 (gst_base_sink_event), (gst_base_sink_perform_seek),
278 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
279 (gst_base_sink_send_event), (gst_base_sink_change_state):
280 * libs/gst/base/gstbasesink.h:
281 Add method to commit the state in subclasses.
282 Refactor the flush_start and flush_stop code because we need it for
283 flushing while seeking too.
284 Implement the beginnings of seeking in pull mode.
285 Use the segment last_stop field for the pulling offset.
286 Fix the pause method in pull mode.
287 Configure the segment to BYTES for pull mode.
288 API: GstBaseSink::gst_base_sink_do_preroll()
290 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
292 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
295 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
297 * gst/gstquark.c: (_priv_gst_quarks_initialize):
298 Fix printf format warning.
300 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
302 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
303 Fix flow aggregation of tee. Error out immediately for all flow returns
304 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
305 and return OK if at least one pad is linked.
307 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
308 and otherwise returned the flow return of the last pad, which is wrong.
310 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
311 (GST_START_TEST), (tee_suite):
312 Add unit tests for the flow aggregation.
314 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
316 * docs/design/part-TODO.txt:
317 Remove item from the todo list because it was fixed with the latency
318 state change rewrites.
320 * docs/design/part-seeking.txt:
321 * docs/design/part-segments.txt:
324 * gst/gstevent.c: (gst_event_new_new_segment_full),
325 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
326 (gst_event_parse_buffer_size), (gst_event_new_qos),
327 (gst_event_parse_qos), (gst_event_new_seek),
328 (gst_event_parse_seek), (gst_event_new_latency),
329 (gst_event_parse_latency):
330 Use quarks to construct and parse events.
332 * gst/gstquark.c: (_priv_gst_quarks_initialize):
334 Add some more quarks to the table.
335 Emit a warning when the quark tables are not in sync.
337 * tests/check/gst/gstbus.c: (GST_START_TEST):
340 2008-10-13 Stefan Kost <ensonic@users.sf.net>
342 * plugins/elements/Makefile.am:
343 * plugins/indexers/Makefile.am:
344 Don't install static libs for plugins. Fixes #550851 for core.
346 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
348 * gst/gstbus.c: (gst_bus_source_finalize),
349 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
350 (gst_bus_enable_sync_message_emission),
351 (gst_bus_disable_sync_message_emission),
352 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
353 Fix deadlock, g_source_get_id() cannot be called in finalize.
354 Keep track of the watch source by keeping a pointer to the source object
356 Use the bus lock to protect access to the pointer to the current
359 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
361 Base on Patch by: Olivier Crete <tester at tester dot ca>
363 * gst/gstbus.c: (gst_bus_source_finalize),
364 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
365 Only allow one bus watch to be set at a time. This is necessary
366 because the dispatcher pops the message from the bus and the second
367 watcher will then get NULL or the next message (and the first won't
368 get this next message then, etc). If more than one "watcher" is
369 required signal watches should be used. Fixes bug #526044.
371 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
373 * tools/gst-launch.c:
374 Change the printing of the 'buffering...' output to avoid putting
375 a \r in a translateable string (flagged by the TP).
377 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
380 Clarify that the save_thyself() and restore_thyself() virtual
381 functions of GstObject need to be overriden, not
382 gst_object_(save|restore)_thyself() which is impossible.
385 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
387 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
388 Revert a patch from 21 months ago that broke caps negotiation in pull
389 mode. Basically, having a buffer pass over a pad will trigger the
390 setcaps function when caps change, just like in push mode.
392 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
394 * docs/design/part-negotiation.txt:
395 Update the docs some more.
397 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
398 If we pull a buffer with non-trivial caps, suggest those caps with the
401 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
403 * docs/design/part-TODO.txt:
404 Add another limitation of pad-blocking with segment seeks not pushing
407 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
409 * win32/common/libgstbase.def:
410 * win32/common/libgstreamer.def:
411 Add new symbols to the win32 defs files
413 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
415 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
416 (gst_bin_handle_message_func):
417 The message src can be NULL, don't try to print the object names in that
420 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
421 Add some more debug info.
423 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
426 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
429 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
431 * docs/design/part-negotiation.txt:
434 * docs/libs/gstreamer-libs-sections.txt:
435 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
436 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
437 (gst_base_sink_init), (gst_base_sink_set_blocksize),
438 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
439 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
440 (gst_base_sink_loop), (gst_base_sink_pad_activate),
441 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
442 (gst_base_sink_change_state):
443 * libs/gst/base/gstbasesink.h:
444 Add blocksize property and methods to control the amount of data
446 Negotiate first before activating upstream in pull mode so that they can
447 negotiate themselves.
448 When we operate in pull mode, we only accept the caps that we
450 Make the sink go ASYNC to PAUSED, like all other sinks.
451 API: GstBaseSink::gst_base_sink_set_blocksize()
452 API: GstBaseSink::gst_base_sink_get_blocksize()
453 API: GstBaseSink::blocksize
455 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
456 (gst_base_src_set_live), (gst_base_src_is_live),
457 (gst_base_src_set_format), (gst_base_src_query_latency),
458 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
459 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
460 (gst_base_src_set_property), (gst_base_src_get_property):
461 * libs/gst/base/gstbasesrc.h:
462 Add typechecking in public API functions.
463 Add methods to control the blocksize in subclasses.
464 API: GstBaseSrc::gst_base_src_set_blocksize()
465 API: GstBaseSrc::gst_base_src_get_blocksize()
467 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
469 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
470 (buffer_probe), (event_probe), (GST_START_TEST):
471 We now see 3 events go through our pad, since basesink now sends
472 upstream latency events.
474 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
476 * gst/gstpipeline.c: (gst_pipeline_change_state):
477 Release the object lock before trying to flush the bus.
479 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
481 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
482 Forward LATENCY events upstreams so that elements know about the total
483 pipeline latency. Fixes #555307.
485 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
487 * plugins/elements/gstqueue.c:
488 Allow through queries when we don't know how
489 to adjust them (not TIME or BYTES), as otherwise it's
490 not possible to query the current position in order
491 to seek in other formats at all.
493 2008-10-08 Andy Wingo <wingo@pobox.com>
495 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
497 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
501 Unbreak -good build, private is a reserved c++ keyword.
503 2008-10-08 Andy Wingo <wingo@pobox.com>
505 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
506 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
507 removal: re-add GST_GHOST_PAD_CAST to the header.
509 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
510 (GstGhostPadClass): Publically expose these structures so as to
511 allow easy subclassing from C. Hide the member data behind a
512 private opaque data pointer.
514 * gst/gstghostpad.c: Adapt to store instance data in the type
515 instance's private data region, not in the public struct.
517 2008-10-08 Andy Wingo <wingo@pobox.com>
519 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
520 template via g_object_get(), be sure to unref it.
522 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
524 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
526 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
527 If we can't get a cache file don't try to save something to it.
528 Dereferencing NULL pointers usually isn't a good idea.
530 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
532 * tests/check/Makefile.am:
533 * tests/check/gst/gstabi.c:
534 * tests/check/gst/struct_sparc.h:
535 * tests/check/libs/libsabi.c:
536 * tests/check/libs/struct_sparc.h:
539 * tests/check/gst/gstvalue.c: (GST_START_TEST):
540 Cast signed integer to unsigned to avoid a compiler warning.
542 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
544 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
545 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
546 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
547 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
548 (gst_byte_reader_peek_int24_be):
549 Use new GST_READ_UINT24_(LE|BE) macros.
551 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
553 * docs/gst/gstreamer-sections.txt:
555 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
556 as it's too easy to break the ISO C strict aliasing rules with simple
557 casts to the corresponding type and this would introduce hard to debug
558 bugs. Fixes bug #545714.
560 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
562 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
564 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
565 * gst/gstghostpad.c: (gst_ghost_pad_construct):
566 Add 'Since' bits to gtk-doc chunks for new API.
568 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
570 * docs/gst/gstreamer-sections.txt:
573 2008-10-06 Andy Wingo <wingo@pobox.com>
575 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
576 that will be called on the malloc_data to free it. Basically a way
577 to avoid subclassing when all you need is a different free
578 function, i.e. free() instead of g_free().
580 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
581 calling the free function.
582 (gst_buffer_init): Initialize the free function to g_free.
584 2008-10-06 Andy Wingo <wingo@pobox.com>
587 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
588 finishes the initialization of ghost pad. Useful for language
589 bindings and subclassers of GstGhostPad. Fixes #539108.
590 (gst_ghost_pad_new_full): Use the new constructor.
592 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
594 Base on Patch by: Olivier Crete <tester at tester dot ca>
596 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
597 (gst_bin_remove_func), (update_degree),
598 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
599 Keep track of pads that are being linked/unlinked and resync the state
602 * gst/gstpad.c: (gst_pad_get_direction),
603 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
604 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
605 (gst_pad_link_prepare), (gst_pad_link),
606 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
607 (gst_pad_check_pull_range), (gst_pad_get_range),
608 (gst_pad_pull_range):
609 Some code cleanups, use macros to check pad direction.
610 Don't need to take the lock on the pad direction.
611 Post structure change when pads are linked/unlinked.
612 Change some checks into _return_if_fail().
614 * tests/check/gst/gstbin.c:
615 (test_link_structure_change_state_changed_sync_cb),
616 (GST_START_TEST), (gst_bin_suite):
617 Add testcase for pad link/unlinke resync during a state change.
620 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
622 * docs/gst/gstreamer-sections.txt:
623 * gst/gstmessage.c: (gst_message_new_structure_change),
624 (gst_message_parse_structure_change):
626 Implement STRUCTURE_CHANGED messages. These messages will be used to
627 signal the parent bin of link/unlink operations that could require a
628 resync when doing a state change. See ##510354.
629 API: gst_message_new_structure_change()
630 API: gst_message_parse_structure_change()
632 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
636 Add some more quarks for new message. See #510354.
638 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
640 * docs/libs/gstreamer-libs-docs.sgml:
641 * docs/libs/gstreamer-libs-sections.txt:
642 * libs/gst/base/Makefile.am:
643 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
644 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
645 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
646 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
647 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
648 (gst_bit_reader_skip_to_byte):
649 * libs/gst/base/gstbitreader.h:
650 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
651 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
652 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
653 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
654 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
655 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
656 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
657 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
658 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
659 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
660 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
661 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
662 * libs/gst/base/gstbytereader.h:
663 * tests/check/Makefile.am:
664 * tests/check/libs/bitreader.c: (GST_START_TEST),
665 (gst_bit_reader_suite):
666 * tests/check/libs/bytereader.c: (GST_START_TEST),
667 (gst_byte_reader_suite):
668 API: Add bit reader and byte reader classes, including documentation
669 and an extensive unit test suite. Fixes bug #553554.
671 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
673 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
674 (gst_base_sink_query):
675 Improve position reporting while flushing and other intermediate state
676 changes. Fixes #553874.
678 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
680 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
682 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
683 Original patch by : Simon Descaries
684 Fix small refount leak in caps compatibility check.
687 2008-10-06 Stefan Kost <ensonic@users.sf.net>
689 * docs/pwg/advanced-request.xml:
690 Fix 0.8 api usage in example. Fixes #554561
692 * docs/pwg/appendix-porting.xml:
693 Change 0.9 to 0.10 here.
695 2008-10-06 Stefan Kost <ensonic@users.sf.net>
697 * docs/manual/basics-data.xml:
698 Change "event-event interaction" to "element-element interaction".
699 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
702 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
705 Back to development -> 0.10.21.1
707 === release 0.10.21 ===
709 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
712 releasing 0.10.21, "Take These Things From Me"
714 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
717 0.10.20.4 pre-release
719 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
721 * libs/gst/base/gstbasetransform.c:
722 * plugins/elements/gstcapsfilter.c:
723 * tests/check/Makefile.am:
724 * tests/check/elements/.cvsignore:
725 * tests/check/elements/capsfilter.c:
726 Fix assertion in basetransform when the subclass chooses not to
727 allocate a buffer in prepare_buffer(), and make capsfilter error out
728 cleanly if requested to apply caps that don't completely specify the
729 buffer. Fixes #551509
731 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
733 * libs/gst/base/gstbasetransform.c:
734 (gst_base_transform_prepare_output_buffer):
735 Take new caps ref because our old one might have been gone when the
736 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
738 2008-09-15 Stefan Kost <ensonic@users.sf.net>
741 Do not probe availability of check unit test library when cross
742 compiling, as test would not work anyway. Also cleanup verbose output
743 of the check test. Fixes #551952.
745 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
747 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
749 * gst/gstelement.c: (gst_element_sync_state_with_parent):
750 Avoid leaking the parent ref when we fail changing the state of the
751 element using gst_element_sync_state_with_parent(). Fixes #551978.
753 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
755 * docs/manual/intro-motivation.xml::
756 Remove some bits that no longer apply, update others (#551642).
758 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
761 0.10.20.2 pre-release
769 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
771 * win32/common/config.h.in:
772 Add GST_DATADIR, hard-code cpu to x86.
774 * win32/common/libgstreamer.def:
777 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
780 Fix Since: markers for new geo tags.
782 2008-09-02 Stefan Kost <ensonic@users.sf.net>
785 Fix actual tag name define after renaming from altitude to elevation.
787 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
789 * gst/gstpad.c: (add_unref_pad_to_list),
790 (gst_pad_get_internal_links_default):
791 Add fallback when calling the deprecated function on an element that
792 implements the new internal_link handler.
794 2008-09-01 Stefan Kost <ensonic@users.sf.net>
796 * docs/gst/gstreamer-sections.txt:
799 Add new tags for geo location and clarify purpose of existing location
802 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
804 Patch by: Olivier Crete <tester at tester dot ca>
806 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
807 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
808 Use thread-safe internal links iterator. Fixes #549504.
810 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
812 Based on patch by: Olivier Crete <tester at tester dot ca>
814 * docs/gst/gstreamer-sections.txt:
815 * win32/common/libgstreamer.def:
816 * gst/gstpad.c: (gst_pad_init),
817 (gst_pad_set_iterate_internal_links_function),
818 (int_link_iter_data_free), (iterate_pad),
819 (gst_pad_iterate_internal_links_default),
820 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
822 Add threadsafe replacement functions for getting internal links of an
823 element. Deprecate the old internal links functions.
824 API:GstPad::gst_pad_set_iterate_internal_links_function()
825 API:GstPad::GstPadIterIntLinkFunction
826 API:GstPad::gst_pad_iterate_internal_links()
827 API:GstPad::gst_pad_iterate_internal_links_default()
829 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
830 (gst_proxy_pad_init):
831 Implement threadsafe internal links.
833 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
834 Unit test for internal links on tee. See #549504.
836 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
838 * tests/check/Makefile.am:
839 libs/transform1 test requires libs/test_transform.c
841 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
843 * gst/gstpad.c: (gst_pad_get_internal_links_default):
844 Die evil deadlock, die !
846 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
848 * gst/gstutils.c: (gst_element_get_compatible_pad):
849 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
850 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
851 Fix all leaks due to the bug in gst_pad_template_new() by which it does
852 not steal the refcount of the given caps as stated.
854 REVERT THIS COMMIT ONCE FIXED !
855 REVERT THIS COMMIT ONCE FIXED !
856 REVERT THIS COMMIT ONCE FIXED !
857 REVERT THIS COMMIT ONCE FIXED !
858 REVERT THIS COMMIT ONCE FIXED !
859 REVERT THIS COMMIT ONCE FIXED !
861 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
865 After 3 years it's about time to revise the documentation of the
868 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
870 * gst/gstpad.c: (gst_pad_get_internal_links_default):
871 Make the internal links function less thread-unsafe and add some
874 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
877 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
878 build with --disable-gst-debug.
880 2008-08-28 David Schleef <ds@schleef.org>
882 * gst/gstpadtemplate.c: Revert last change, since it breaks
883 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
884 but shouldn't be enabled until we've released fixed versions
885 of -good and -ffmpeg.
887 2008-08-28 Stefan Kost <ensonic@users.sf.net>
890 Put the gst_object_get_name() back in.
892 2008-08-28 Stefan Kost <ensonic@users.sf.net>
894 * gst/gstpadtemplate.c:
895 The old behaviour was that gst_pad_template_new() takes ownership of
896 the caps. As we now call g_object_new() which calls g_object_set() and
897 which copies the caps, we have to unref them to not leak them. Fixes
900 2008-08-28 Stefan Kost <ensonic@users.sf.net>
903 Don't segfault on input like "tel:+1-123-555-1234".
905 2008-08-27 Stefan Kost <ensonic@users.sf.net>
908 Due to popular request also include ObjectType in
909 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
911 2008-08-26 David Schleef <ds@schleef.org>
913 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
914 src_val must be positive, because that's not a requirement.
915 This causes problems with converting negative granulepos
917 * gst/gstquery.c: Same, gst_query_new_convert().
919 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
921 * gst/gstclock.c: (gst_clock_add_observation):
922 Add some more debugging to the clock slaving code.
924 * win32/common/libgstbase.def:
925 Add new basetransform method.
927 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
929 * gst/gstbin.c: (gst_bin_element_set_state):
930 Take the (recursive) state lock between getting the locked state of an
931 element and changing the element state. This allows the application to
932 lock an element's state and then change its state without races.
934 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
936 * gst/gstbin.c: (gst_bin_element_set_state):
937 When an element is in the locked state we still want to update the
938 base_time of the element.
940 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
942 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
943 Use the result from gst_pad_set_caps() instead of assuming the element
944 always accepted the caps computed by the default negotiate function.
946 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
948 * docs/libs/gstreamer-libs-sections.txt:
949 * libs/gst/base/gstbasetransform.c:
950 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
951 (gst_base_transform_chain), (gst_base_transform_suggest),
952 (gst_base_transform_reconfigure):
953 * libs/gst/base/gstbasetransform.h:
954 Implement method for reconfiguring basetransform.
955 API: GstBaseTransform::gst_base_transform_reconfigure()
957 2008-08-20 Stefan Kost <ensonic@users.sf.net>
959 patch by: Murray Cumming <murrayc@murrayc.com>
962 Mention that this is just like gst_buffer_merge() but with extra
963 unreffing for C coders. Advise language bindings not to wrap it.
966 Also fix file comment.
968 2008-08-20 Stefan Kost <ensonic@users.sf.net>
970 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
972 * plugins/elements/gstfakesink.c:
973 * plugins/elements/gstfakesrc.c:
974 Call super::event() when not handling it. Fixes #544855.
976 2008-08-19 Michael Smith <msmith@songbirdnest.com>
978 Patch by: Alessandro Decina <alessandro@nnva.org>
979 * plugins/elements/gstfilesrc.c:
980 Use 64 bit variants of stat functions on win32, to enable support
981 of large files there.
984 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
986 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
987 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
988 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
989 (gst_base_sink_get_position), (gst_base_sink_change_state):
990 Improve position reporting in the flushing state.
991 Also report the position when we are not yet prerolled but we
992 have a newsegment event. Fixes #543444.
993 Improve the pull-based negotiation code.
995 * tests/check/elements/fakesink.c: (GST_START_TEST),
997 Add testcase for position reporting while flushing in PAUSED and
1000 * tests/check/generic/sinks.c: (GST_START_TEST):
1001 Update unit-test, we can now query the position as soon as we receive a
1004 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1006 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1008 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1009 When the subclass event handler releases the PREROLL_LOCK, we could be
1010 in the flushing state and we have to ignore the event. Fixes #548394.
1012 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1014 * tools/gst-launch.1.in:
1015 Document GST_REGISTRY_UPDATE environment variable.
1017 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1019 * libs/gst/base/gstbasetransform.c:
1020 (gst_base_transform_prepare_output_buffer):
1021 If the element is configured in passthrough mode but the
1022 prepare_output_buffer gave us a new output buffer, discard that buffer
1023 and reuse the input buffer.
1025 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1027 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1029 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1030 (gst_tee_request_new_pad), (gst_tee_release_pad),
1031 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1032 * plugins/elements/gsttee.h:
1033 Protect pad_alloc with a new lock so that we can be sure that nothing is
1034 performing a pad_alloc when removing the pad. Fixes #547835.
1036 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1037 (buffer_alloc_harness_teardown), (app_thread_func),
1038 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1039 Added testcase for shutdown race.
1041 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1046 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1048 * libs/gst/base/gstbasetransform.c:
1049 (gst_base_transform_prepare_output_buffer),
1050 (gst_base_transform_buffer_alloc):
1051 Go over the buffer_alloc function again and make sure we always end up
1052 allocating a buffer.
1054 Avoid doing pad alloc when we have a pending suggestion because we
1055 cannot yet deal with changing caps in that case. Fixes #547728
1057 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1059 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1061 * docs/manual/advanced-clocks.xml:
1062 * docs/manual/clocks.png:
1063 * docs/manual/diagrams-clocks.svg:
1064 Add one more image showing different times together with a describing
1065 paragraph. Fixes #547729.
1067 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1069 * win32/common/libgstbase.def:
1072 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1074 * libs/gst/base/gstbasetransform.c:
1075 (gst_base_transform_transform_caps),
1076 (gst_base_transform_prepare_output_buffer),
1077 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1078 Don't overwrite the outsize when calculating the expected size of a new
1079 buffer because we still need it in case we cannot process the new
1081 When converting the size of the new buffer to an upstream size, actually
1082 use the expected size of the buffer, not some other random value.
1083 Use an atomic int to signal that a new upstream caps suggestion is
1085 When we can convert the current buffer to a new format, check if the
1086 buffer size is of the expected size and allocate a new buffer of the
1087 expected size when this is not the case. Fixes #546883.
1089 * tests/check/libs/transform1.c: (GST_START_TEST):
1090 remove ifdeffed code from the unit test.
1092 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1094 * pkgconfig/gstreamer-uninstalled.pc.in:
1095 * pkgconfig/gstreamer.pc.in:
1096 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1097 called gstcontroller-0.10.
1099 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1101 * gst/gstchildproxy.h:
1103 Remove double interface from doc-string.
1105 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1107 * libs/gst/base/gstbasesrc.c:
1108 * libs/gst/base/gstbasetransform.c:
1109 Fix headings in docs and gtk-doc warnings.
1111 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1113 * gst/gstregistrybinary.c:
1114 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1118 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1120 * libs/gst/base/gstbasetransform.c:
1121 (gst_base_transform_buffer_alloc):
1122 Fix a "may be used unitialized" warning.
1124 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1126 * docs/gst/gstreamer-sections.txt:
1128 Document preset-iface vmethods.
1130 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1132 * docs/manual/advanced-interfaces.xml:
1133 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1134 only used to discover devices.
1136 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1138 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1140 * gst/gst.c: (init_pre):
1141 Make sure gettext returns translations in UTF-8 encoding rather
1142 than in the current locale encoding (#546822).
1144 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1146 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1149 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1150 Improve unit test subset tests and add a testcase for the subset failure
1153 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1154 Improve subtraction unit test.
1156 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1158 * plugins/elements/gsttee.c:
1159 Unlock, instead of locking again.
1161 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1164 Clarify the docs a bit more.
1166 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1168 * tests/examples/metadata/read-metadata.c:
1169 Don't leak old taglist.
1171 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1173 Patch by: Olivier Crete <tester at tester dot ca>
1175 * gst/gststructure.c:
1176 (gst_structure_fixate_field_nearest_fraction):
1177 Avoid overflows in fixation code when dealing with MAXINT values, which
1178 v4l2src seems to do.
1181 * tests/check/gst/gststructure.c: (GST_START_TEST):
1182 Make a unit test to check the fix.
1184 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1186 * plugins/elements/gstcapsfilter.c: (copy_func),
1187 (gst_capsfilter_set_property):
1188 Use new caps suggestion feature of basetransform to request a caps
1189 negotiation upstream.
1191 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1193 * docs/libs/gstreamer-libs-sections.txt:
1195 API: GstBaseTransform::gst_base_transform_suggest()
1197 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1198 (gst_base_transform_init), (gst_base_transform_transform_caps),
1199 (gst_base_transform_transform_size),
1200 (gst_base_transform_configure_caps),
1201 (gst_base_transform_can_transform),
1202 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1203 (gst_base_transform_prepare_output_buffer),
1204 (gst_base_transform_buffer_alloc),
1205 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1206 (gst_base_transform_chain), (gst_base_transform_activate),
1207 (gst_base_transform_set_passthrough),
1208 (gst_base_transform_is_passthrough),
1209 (gst_base_transform_set_in_place),
1210 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1211 (gst_base_transform_set_qos_enabled),
1212 (gst_base_transform_is_qos_enabled),
1213 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1214 (gst_base_transform_reconfigure):
1215 * libs/gst/base/gstbasetransform.h:
1216 Rewrite of basetransform to perform negotiation outside of the
1217 buffer_alloc functions. Fixes #545853.
1219 * tests/check/libs/transform1.c: (GST_START_TEST),
1223 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1225 * tests/check/gst/gstpreset.c:
1226 Only run preset tests when $HOME is writable. Preliminary fix for
1229 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1231 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1232 (gst_bin_change_state_func), (bin_handle_async_done),
1233 (gst_bin_handle_message_func):
1234 Fix race for bins that simulate ASYNC state changes by inserting
1235 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1236 pending ASYNC messages even when the bin does not have ASYNC children.
1237 We note detect this behaviour because we will receive an ASYNC message
1238 that is originating from the bin itself.
1239 Fixes races with decodebin2 state changes.
1241 * tests/check/gst/gstbin.c: (GST_START_TEST):
1242 Add some more debug.
1244 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1246 * gst/gsttaglist.c: (_gst_tag_initialize):
1249 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1252 Argh. actually save the text before committing. Now adds
1253 gst_tag_merge_strings_with_comma() to gst_tag_register().
1255 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1259 Do as tim pointed out and actually register the new tag. Also improve
1260 te docs and use gst_tag_merge_strings_with_comma() method to allow
1261 retriving all keywords merged in one list.
1263 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1266 * docs/gst/gstreamer.types:
1267 Revert 'accidential' change of the configure option removal. We still
1268 need to generate the types file in configure --disable-load-save.
1270 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1272 * docs/gst/gstreamer-sections.txt:
1274 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1276 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1278 * gst/gstpadtemplate.c:
1279 (gst_pad_template_class_init), (gst_static_pad_template_get),
1280 (gst_pad_template_new), (gst_pad_template_pad_created),
1281 (gst_pad_template_set_property), (gst_pad_template_get_property):
1282 Add "name-template", "direction", "presence" and "caps" properties,
1283 so that gst_pad_template_new() is just a thin wrapper around
1284 g_object_new(), which is better for bindings. (Fixes: #539772)
1286 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1289 Be more liberal in what URIs we accept.
1290 Do not unescape bits of the URI for no apparent reason before passing to
1291 the element. Fixes #545352.
1293 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1295 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1298 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1300 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1303 * docs/gst/gstreamer-sections.txt:
1304 * docs/gst/gstreamer.types:
1305 * docs/gst/gstreamer.types.in:
1308 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1309 * gst/gstconfig.h.in:
1310 * gst/gstelement.c: (gst_element_get_index):
1311 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1312 (gst_registry_binary_load_feature),
1313 (gst_registry_binary_read_cache):
1314 * gst/gstregistryxml.c: (load_feature),
1315 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1316 * plugins/Makefile.am:
1318 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1319 (print_plugin_features), (print_element_features):
1320 * tools/gst-xmlinspect.c: (print_event_masks),
1321 (print_element_info):
1322 * win32/common/gstconfig.h:
1323 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1325 Disabling the indexers and URI handler code will only reduce the
1326 required amount of memory by a very small amount but on the other hand
1327 requires much more maintaince work. Apart from that many places of
1328 code are broken when disabling them.
1330 Disabling the enum types doesn't reduce the required amount of memory
1331 by more than a few bytes and makes it hard to fix bugs like #539772,
1332 i.e. use the enums as GObject properties.
1334 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1336 * docs/design/part-TODO.txt:
1337 Add some thoughts and problems with upstream renegotiation.
1339 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1341 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1342 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1343 Remove silly redundant debug.
1344 Add some more debug info.
1345 Clarify the docs regarding new caps received from pad_alloc.
1347 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1349 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1350 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1351 Make setting the caps more threadsafe.
1353 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1355 * docs/design/part-element-transform.txt:
1358 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1360 * plugins/elements/gstqueue.c: (gst_queue_init),
1361 (gst_queue_acceptcaps):
1362 Add and use a custom acceptcaps function instead of falling back to the
1363 potentially less optimized default implementation.
1365 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1367 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1368 Only sanity-check the buffer size if requested_caps == buffer_caps
1369 (ie. don't take pad caps into account, they're not relevant here)
1371 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1373 * plugins/elements/gsttee.c:
1374 * plugins/elements/gsttee.h:
1375 Reverting as not everything is clear yet. Needs some general design
1378 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1381 ChangeLog surgery for tee commit.
1383 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1385 * docs/gst/gstreamer-sections.txt:
1386 Cleanup section-file.
1388 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1390 * plugins/elements/gsttee.c:
1391 * plugins/elements/gsttee.h:
1392 Relay tag events in tee. Fixes parts of #474016.
1393 Downgrades 3 reoccurring debugs to log.
1395 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1398 * libs/gst/Makefile.am:
1399 Build the net library if we have winsock2.
1401 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1403 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1405 * docs/manual/advanced-threads.xml:
1406 * docs/manual/diagrams-pipelines.svg:
1407 * docs/manual/hello-world.png:
1408 * docs/manual/linked-elements.png:
1409 * docs/manual/mime-world.png:
1410 * docs/manual/queue.png:
1411 * docs/manual/thread-buffering.png:
1412 * docs/manual/thread-synchronizing.png:
1413 Replace one diagram with two separate ones and updates others.
1416 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1419 Fix link in documentation.
1421 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1424 Fix confusing documentation.
1426 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1428 * libs/gst/base/gstbasesrc.h:
1429 revert the changes to the header file for the ABI.
1431 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1433 * libs/gst/base/gstbasesrc.c:
1434 * libs/gst/base/gstbasesrc.h:
1435 Don't cache the seekable status.
1438 2008-07-24 Rene Stadler <mail@renestadler.de>
1440 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1441 code to close the pipeline graph. This prevents the program from
1442 printing internal data flow errors.
1444 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1446 * docs/manual/basics-bus.xml:
1447 Correct typo. Fixes bug #544320.
1449 2008-07-22 Michael Smith <msmith@songbirdnest.com>
1452 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1453 Add check (taken from -base) for winsock, adds WIN32_LIBS
1455 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1457 Define GST_EXPORTS when building libgstreamer (only used on win32)
1458 * gst/gst_private.h:
1460 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1461 for symbols that we need to export in both these files.
1463 Include gst_private.h higher up to avoid some compile problems on win32.
1465 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1470 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1473 Previous commit was wrong NULL caps does not exist
1474 and indicate an error, so also add a FIXME to
1475 gst_caps_is_equal where NULL caps are accepted.
1477 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1480 Allow passing of NULL to gst_caps_union
1482 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
1484 * gst/gstghostpad.c:
1485 Add in doc that gst_ghost_pad_set_target can accept
1486 NULL to clear target
1488 2008-07-15 Michael Smith <msmith@songbirdnest.com>
1491 * gst/gstregistry.c:
1492 GstRegistryPool doesn't exist; don't refer to it in docs.
1493 Don't refer to functions that don't exist in docs, it's
1496 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1499 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1501 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1503 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1505 * docs/pwg/building-testapp.xml:
1506 Don't use an undeclared variable in the example program.
1509 2008-07-12 Stefan Kost <ensonic@users.sf.net>
1511 * gst/gstdebugutils.c:
1512 Squeeze ghost-pad links and remove <> from classname labels to save
1513 more horizontal space.
1515 2008-07-11 Stefan Kost <ensonic@users.sf.net>
1517 * gst/gstdebugutils.c:
1518 Give request and sometimes pads a different shpe style. Condense the
1519 graphs a little more.
1521 2008-07-09 Michael Smith <msmith@songbirdnest.com>
1524 Don't require flex and bison if the parser is disabled.
1526 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1528 * libs/gst/controller/gstinterpolationcontrolsource.c:
1529 (_list_find_sorted_custom):
1530 Don't use declarations after statements.
1532 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1534 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1535 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1536 of the the child-added / -removed signals as GstChildProxy
1537 only supports GstObjects.
1539 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
1541 * gst/gstdebugutils.c:
1544 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1546 Patch by: Alessandro Decina <alessandro at nnva dot org>
1549 Fix "ignored return value" compiler warning with newer glibc.
1551 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1553 * gst/gstchildproxy.c:
1554 Fix copy&paste error in gst_child_proxy_removed() documentation.
1556 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
1558 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1559 Print error debug message if plugin description fields that should
1562 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1563 Don't crash if the string to serialise is NULL (it really should
1564 not be, but apparently this used to work with the xml registry ...).
1566 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
1568 * tools/gst-plot-timeline.py:
1569 Fix parsing of log messages
1571 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1573 * win32/common/libgstbase.def::
1574 Sort alphabetically so make check-exports doesn't barf.
1576 2008-07-01 Stefan Kost <ensonic@users.sf.net>
1579 Use gst_format_get_name() to improve debug output.
1582 Remove #ifdef'ed code. Add TODO comment.
1585 Add debug output to ease spotting format != segment.format assertions.
1587 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1589 * tests/check/libs/gdp.c: (gst_dp_suite):
1590 Also enable the GDP unit test again on PPC now that the bug
1593 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1595 * libs/gst/dataprotocol/dataprotocol.c:
1596 Don't write to the same region of memory as a uint64 and uint16
1597 as this breaks strict aliasing rules and apparantly breaks on PPC
1598 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1600 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1602 * libs/gst/controller/gstinterpolationcontrolsource.c:
1603 Optimize list handling. Use own find function. Exploit that fact that
1604 the list is sorted. Also pass back the node before, so that we can
1605 insert quickly. Have a fast path for append.
1607 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1609 * docs/design/draft-framestep.txt:
1610 * docs/design/part-negotiation.txt:
1613 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1616 Show configuration sumary after configure run. Based on patch by
1617 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1619 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1621 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1623 * docs/manual/advanced-autoplugging.xml:
1624 * docs/manual/advanced-threads.xml:
1625 * docs/manual/basics-bins.xml:
1626 * docs/manual/basics-elements.xml:
1627 * docs/manual/basics-helloworld.xml:
1628 * docs/manual/basics-pads.xml:
1629 Add scale factor for pdf output.
1631 * docs/manual/intro-basics.xml:
1632 Switched sections "pads" and "bins" and added a pipeline diagram.
1634 * docs/manual/intro-gstreamer.xml:
1635 Added more info on gstreamer.
1637 * docs/manual/intro-motivation.xml:
1638 Commented out the whole section "current problem", which sounds
1639 historical and somehow osolete; it could be turned in a positive
1640 way and reused to improve the design principles.
1642 * docs/manual/intro-preface.xml:
1643 - Update URLs to library.gnome.org.
1644 - Do not mention GTK+ in preliminary reading (irrelevant).
1645 - Mention Plugin Writer's Manual and further reading only in the
1647 - Added a list of most relevant GObject/glib topics.
1649 * docs/manual/Makefile.am:
1650 * docs/manual/bin-element-ghost.fig:
1651 * docs/manual/bin-element-ghost.png:
1652 * docs/manual/bin-element-noghost.fig:
1653 * docs/manual/bin-element-noghost.png:
1654 * docs/manual/bin-element.fig:
1655 * docs/manual/bin-element.png:
1656 * docs/manual/filter-element-multi.fig:
1657 * docs/manual/filter-element-multi.png:
1658 * docs/manual/filter-element.fig:
1659 * docs/manual/filter-element.png:
1660 * docs/manual/gstreamer-overview.png:
1661 * docs/manual/hello-world.fig:
1662 * docs/manual/hello-world.png:
1663 * docs/manual/linked-elements.fig:
1664 * docs/manual/linked-elements.png:
1665 * docs/manual/mime-world.fig:
1666 * docs/manual/mime-world.png:
1667 * docs/manual/queue.fig:
1668 * docs/manual/queue.png:
1669 * docs/manual/simple-player.png:
1670 * docs/manual/sink-element.fig:
1671 * docs/manual/sink-element.png:
1672 * docs/manual/src-element.fig:
1673 * docs/manual/src-element.png:
1674 * docs/manual/diagrams-general.svg:
1675 * docs/manual/diagrams-pipelines.svg:
1676 Removed .fig, added .png counterpart.
1680 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
1682 * plugins/elements/gstmultiqueue.c:
1683 * plugins/elements/gstmultiqueue.h:
1684 revert extra-size-buffers stuff, caused some race conditions
1685 and extra-size-buffers is not used anymore. Docs needs some updates
1687 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1689 * win32/common/config.h:
1690 * win32/common/gstenumtypes.c:
1691 * win32/common/gstenumtypes.h:
1692 * win32/common/gstversion.h:
1695 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1697 * gst/gstdebugutils.h: (GstDebugGraphDetails),
1698 (GST_DEBUG_BIN_TO_DOT_FILE):
1699 Add missing Since' markers to gtk-doc blurbs.
1701 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
1703 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1704 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1705 (set_caps_1), (set_caps_ct1), (transform_ct1),
1706 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1707 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1708 (transform_size_ct2), (buffer_alloc_ct2):
1709 Add some more tests with switching caps in buffer_alloc.
1711 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1713 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1714 (gst_test_trans_class_init), (result_sink_chain),
1715 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1716 (gst_test_trans_push), (gst_test_trans_pop):
1717 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1718 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1719 (set_caps_1), (set_caps_ct1), (transform_ct1),
1720 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1721 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1722 (transform_size_ct2), (buffer_alloc_ct2),
1723 (gst_basetransform_suite):
1724 More tests, prepare for tests with switching caps in buffer_alloc.
1726 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
1728 * plugins/elements/gstmultiqueue.c:
1729 * plugins/elements/gstmultiqueue.h:
1730 Fix dead-lock in underrun_cb
1732 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1734 * docs/design/part-states.txt:
1735 Fix device open/close docs.
1737 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1740 Mention bugnumber for last commit.
1742 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1744 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1746 * docs/manual/manual.xml:
1747 - Reorganised the previous "introduction" bundle into Foreword,
1748 Introduction, and About GStreamer. The two first are <preface>
1749 docbook elements. The later is the first part of the book.
1750 - added intro-gstreamer.xml (content partially from
1752 - moved appendix-win32.xml into appendix-integration.xml
1754 * docs/manual/intro-preface.xml: gstreamer section moved...
1755 * docs/manual/intro-gstreamer.xml: ...here. new file.
1757 * docs/manual/appendix-win32.xml: removed file. Content moved...
1758 * docs/manual/appendix-integration.xml: ...here.
1760 * docs/manual/highlevel-components.xml: section about GstEditor moved...
1761 * docs/manual/appendix-checklist.xml: ...here.
1765 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1767 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1769 * docs/manual/basics-helloworld.xml:
1770 * docs/manual/hello-world.fig:
1771 - Explicitely include glib.h.
1772 - Do not use global variables.
1773 - Use g_printerr() instead of g_print().
1774 - Minor formating/renaming to increase readibility.
1775 - Renamed new_pad() to on_pad_added()
1776 - Improved explenatory comments.
1777 - renamed ogg parser to ogg demuxer
1778 - Use "autoaudiosink" instead of "alsasink".
1781 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1784 Remove cvs conflict marker.
1786 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1789 Document that for plgin-docs we extraxt he short-desc from the element
1792 * docs/design/part-states.txt:
1793 Tell that devices should be closed in PAUSED -> READY.
1795 * docs/manual/README:
1796 Document how tests in the manual are handled.
1801 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1803 * gst/gstbin.c: (bin_query_latency_fold):
1804 Only care about latency min and max when the sink is actually a live
1807 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1809 * docs/design/part-block.txt:
1812 * docs/design/part-element-transform.txt:
1813 Add notes about why transform needs to know input/output sizes.
1814 Add some issues that need to be solved.
1815 Add some more use cases.
1817 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1818 (gst_test_trans_class_init), (result_sink_chain),
1819 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1820 (gst_test_trans_push), (gst_test_trans_pop):
1821 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1822 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1823 (set_caps_1), (set_caps_ct1), (transform_ct1),
1824 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1825 (gst_basetransform_suite):
1826 Add suport for different pad templates and buffer-alloc.
1827 Add more checks for caps and buffer-alloc.
1828 Add checks for proxy buffer alloc.
1829 Add unit test for copy transform.
1831 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
1833 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
1835 * docs/manual/appendix-integration.xml:
1836 * docs/manual/appendix-licensing.xml:
1837 * docs/manual/basics-elements.xml:
1838 * docs/manual/basics-helloworld.xml:
1839 * docs/manual/basics-pads.xml:
1840 * docs/manual/highlevel-components.xml:
1841 * docs/manual/highlevel-xml.xml:
1842 * docs/manual/intro-basics.xml:
1843 * docs/manual/intro-preface.xml:
1844 Typo and formatting fixes (#538594).
1846 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1848 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1849 Fix some memory leaks and uses of object instances that we don't
1852 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
1854 * plugins/elements/gstmultiqueue.c:
1855 Add functionality to extra-size-buffers property.
1857 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
1859 * plugins/elements/gstmultiqueue.c:
1860 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
1861 activate the pads if they are added in STATE_NULL.
1863 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
1865 * docs/libs/gstreamer-libs-sections.txt:
1867 * libs/gst/check/gstcheck.c:
1868 * libs/gst/check/gstcheck.h:
1869 API: gst_check_teardown_pad_by_name
1871 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
1873 * libs/gst/check/gstcheck.c:
1874 * libs/gst/check/gstcheck.h:
1875 Also setup request pads and allow setup pads by name (#537812)
1876 API: gst_check_setup_src_pad_by_name
1877 API: gst_check_setup_sink_pad_by_name
1879 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
1881 * tests/check/gst/gstbuffer.c:
1882 * tests/check/pipelines/parse-launch.c:
1883 Use HAVE_VALGRIND_H some more.
1885 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
1887 * scripts/cvs-update.sh:
1888 Pass arguments to make.
1889 Run autoregen.sh if Makefile is not there.
1891 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
1895 Don't assume that <valgrind/valgrind.h> exists just because
1896 the binary is there.
1898 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1900 * tests/check/Makefile.am:
1901 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1902 (gst_test_trans_class_init), (gst_test_trans_init),
1903 (gst_test_trans_set_data), (result_sink_chain),
1904 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
1905 (gst_test_trans_pop):
1906 * tests/check/libs/transform1.c: (GST_START_TEST),
1907 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
1908 Add some test basetransform element and the beginnings of various
1911 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1913 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1914 Increase code readability.
1915 Don't try to compare buffer offsets when ther are invalid.
1917 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
1919 * docs/design/Makefile.am:
1920 Dist some more design docs.
1922 * docs/random/moving-plugins:
1923 Small addition: good plugins mustn't have functional code
1924 within assertion macros.
1926 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1928 * docs/design/draft-framestep.txt:
1929 Some ideas about a framestep API
1931 * docs/design/part-element-transform.txt:
1932 Start design and use cases for basetransform in order to get it
1935 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
1938 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
1939 be in UTF-8 encoding.
1941 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
1944 Make it known that gst_bus_poll() is pure evil (fixes #538810).
1946 2008-06-20 Stefan Kost <ensonic@users.sf.net>
1948 * plugins/elements/gstcapsfilter.c:
1949 * plugins/elements/gstfakesink.c:
1950 * plugins/elements/gstfakesrc.c:
1951 * plugins/elements/gstfdsink.c:
1952 * plugins/elements/gstfdsrc.c:
1953 * plugins/elements/gstfilesink.c:
1954 * plugins/elements/gstfilesrc.c:
1955 * plugins/elements/gstidentity.c:
1956 * plugins/elements/gstmultiqueue.c:
1957 * plugins/elements/gstqueue.c:
1958 * plugins/elements/gsttee.c:
1959 * plugins/elements/gsttypefindelement.c:
1960 Remove short_description. Add basic docs for gsttypefindelement.
1961 Simplify markup for fakesrc/fdsrc.
1963 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1965 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1968 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1970 Patch by: Joel Larsson <tilljoel at gmail dot com>
1972 * docs/plugins/gstreamer-plugins.args:
1973 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1974 (gst_fd_src_init), (gst_fd_src_update_fd),
1975 (gst_fd_src_set_property), (gst_fd_src_get_property),
1976 (gst_fd_src_create):
1977 * plugins/elements/gstfdsrc.h:
1978 Add timeout property like udpsrc. Fixes #538628.
1979 Add some more docs and example pipelines.
1981 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
1983 * docs/libs/gstreamer-libs-sections.txt:
1984 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1985 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
1986 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
1987 (gst_base_sink_do_sync):
1988 * libs/gst/base/gstbasesink.h:
1989 * win32/common/libgstbase.def:
1990 Add method to allow sinks to specify additional delay between the sync
1991 times and the actual rendering of the data.
1992 API: gst_base_sink_set_render_delay()
1993 API: gst_base_sink_get_render_delay()
1995 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
1998 Bump version number back to dev -> 0.10.20.1
2000 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2002 * docs/gst/gstreamer-sections.txt:
2003 * gst/gsttaglist.c: (_gst_tag_initialize):
2005 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2008 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2010 * libs/gst/controller/gstcontroller.c:
2011 Revert one change, that make ret value possible uninitialized.
2013 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2015 * libs/gst/controller/gstcontroller.c:
2016 Use freeze/thaw notify to sync notify emission a bit (its also more
2017 efficient). Move debug output to LOG (is called a lot in a loop).
2018 Always unset g_values if the have been initialized.
2020 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2022 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2023 (gst_base_sink_wait_eos), (gst_base_sink_event):
2024 If we have not seen a buffer before EOS, use the segment values to
2025 report the current position instead of invalid positions.
2027 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2029 * docs/plugins/tmpl/.cvsignore:
2030 * tests/check/gst/.cvsignore:
2033 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2035 * libs/gst/controller/gstinterpolation.c:
2036 * libs/gst/controller/gstinterpolationcontrolsource.c:
2037 * tests/check/libs/controller.c:
2038 Rewrite handling of default values. Fix overflow with unsigned types
2039 in linear interpolation. Remove now obsolete _first_value() function.
2040 Add more tests. Fixes #538201.
2042 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2044 * libs/gst/base/gstbasetransform.c:
2045 (gst_base_transform_class_init), (gst_base_transform_init),
2046 (gst_base_transform_transform_caps),
2047 (gst_base_transform_prepare_output_buffer):
2049 When a buffer is writable, its metadata is also writable so we don't
2050 need to subbuffer (which then makes the buffer not-writable anymore).
2052 === release 0.10.20 ===
2054 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2057 releasing 0.10.20, "You Crazy Diamond"
2059 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2062 0.10.19.3 pre-release
2064 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2068 Rename DATADIR to GST_DATADIR to avoid build problems
2069 on win32. Patch By: David Schleef <ds@schleef.org>
2072 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2075 Explicitely link with -ldl if dladdr() is found there. Before it was
2076 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2077 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2079 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2081 * gst/gsterror.c: (_gst_stream_errors_init):
2082 Fix typo (spotted by Fabricio Godoy, #536723).
2084 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2087 0.10.19.2 pre-release
2089 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2091 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2092 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2094 Make sure we don't generate invalid QoS messages.
2096 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2098 * gst/gstevent.c: (gst_event_new_qos):
2099 Add some assert and docs for invalid input to the qos function.
2101 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2103 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2104 (gst_base_sink_get_position):
2105 The reported position must always be smaller than the last seen
2106 timestamps (or timestamp + duration for reverse).
2108 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2110 Patch by: Rob Bradford <rob at robster dot org dot uk>
2112 * gst/gstregistry.c: (gst_registry_scan_path_level):
2113 Don't recurse into .debug directories as some distros install
2114 the debugging symbols next to the plugins in .debug directories
2115 and dlopen() crashes on them sometimes. Fixes bug #508070.
2117 Add FIXME for 0.11 to not recurse into directories at all because
2118 it's very inconsistent to the behaviour of other PATH environment
2121 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2123 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2124 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2125 Fix position query range checks in reverse playback.
2127 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2131 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2132 clear of the reference to the resulting pad must be released later
2133 or not, resulting in possible leaks. Fixes bug #533865.
2135 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2137 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2139 * gst/gstelementfactory.c:
2140 Small doc fix. Fixes #535285.
2142 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2144 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2146 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2147 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2148 (gst_base_src_loop), (gst_base_src_set_flushing),
2149 (gst_base_src_change_state):
2150 Make sending an EOS event to the basesrc non-blocking even if the
2151 implementation does blocking waits in the create function. This is done
2152 by unlocking the create function when EOS is sent.
2155 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2157 * tools/gst-inspect.c: (print_element_properties_info):
2158 If possible print the element type of GValueArray properties.
2160 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2162 * gst/gstiterator.c:
2163 Remove an unused field from the private GstListIterator struct.
2165 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2167 * libs/gst/controller/gstcontroller.c:
2168 Add parameter guards.
2170 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2172 * tests/check/gst/gstpipeline.c:
2173 Revert test change and add comment why it should not work.
2175 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2177 * tests/check/gst/gstpipeline.c:
2178 Extending the test a little to verify that we also get the NULL state-
2181 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2183 * gst/gstpreset.c: (gst_preset_default_get_meta),
2184 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2185 (gst_preset_load_preset), (gst_preset_save_preset),
2186 (gst_preset_rename_preset), (gst_preset_delete_preset),
2187 (gst_preset_set_meta):
2188 Add Since: markers to docs blurbs.
2190 * win32/common/libgstreamer.def:
2191 Add recently-added API.
2193 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2195 Patch by: Stefan Kost <ensonic@users.sf.net>
2198 Add DATADIR for storing presets.
2200 * docs/gst/gstreamer-docs.sgml:
2201 * docs/gst/gstreamer-sections.txt:
2202 * docs/gst/gstreamer.types.in:
2203 Add GstPreset to docs.
2207 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2208 (preset_open_and_parse_header), (preset_parse_version),
2209 (preset_merge), (preset_get_keyfile),
2210 (gst_preset_default_get_preset_names),
2211 (gst_preset_default_get_property_names),
2212 (gst_preset_default_load_preset),
2213 (gst_preset_default_save_presets_file),
2214 (gst_preset_default_save_preset),
2215 (gst_preset_default_rename_preset),
2216 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2217 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2218 (gst_preset_default_reset), (gst_preset_get_preset_names),
2219 (gst_preset_get_property_names), (gst_preset_load_preset),
2220 (gst_preset_save_preset), (gst_preset_rename_preset),
2221 (gst_preset_delete_preset), (gst_preset_set_meta),
2222 (gst_preset_get_meta), (gst_preset_class_init),
2223 (gst_preset_base_init), (gst_preset_get_type):
2225 Add GstPreset to core. Fixes #396779
2227 * tests/check/Makefile.am:
2228 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2229 (gst_preset_test_set_property), (gst_preset_test_class_init),
2230 (gst_preset_test_base_init), (gst_preset_test_get_type),
2231 (gst_preset_test_plugin_init), (GST_START_TEST),
2232 (remove_preset_file), (test_setup), (test_teardown),
2234 Add GstPreset unit tests.
2236 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2238 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2239 The default event function on a sinkpad should return TRUE when
2240 there are no internal links but should collect the return values from
2241 the internal links otherwise.
2243 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2245 * plugins/elements/gsttypefindelement.c:
2246 (gst_type_find_element_src_event),
2247 (gst_type_find_element_handle_event):
2248 Use faster and safer _pad_push_event().
2250 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2252 * docs/gst/gstreamer-sections.txt:
2253 * gst/gstutils.c: (element_find_unlinked_pad),
2254 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2256 API: add gst_bin_find_unlinked_pad()
2257 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2259 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2265 Fixed a bunch of typos.
2267 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2270 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2271 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2272 (gst_parse_bin_from_description_full):
2274 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2276 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2278 * docs/pwg/advanced-tagging.xml:
2279 Small docs update, can't be bothered to rewrite the nonsensical
2282 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2285 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2287 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2289 * gst/parse/grammar.y:
2290 Remove unneeded casts.
2292 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2294 * gst/parse/grammar.y:
2295 * tests/check/pipelines/parse-launch.c:
2296 Get all missing elements from a parse launch string if possible
2297 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2299 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2301 * tests/check/Makefile.am:
2302 * tests/check/pipelines/parse-launch.c:
2303 Add some unit tests for the new gst_parse_launch*_full() API.
2304 (Exposes a previously-existing memory leak in the error code
2305 path, so adding to VALGRIND_TO_FIX for now).
2307 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2309 * docs/gst/gstreamer-sections.txt:
2310 * gst/gst.c: (init_post):
2311 * gst/gst_private.h: (_GstParseContext):
2312 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2313 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2314 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2315 (gst_parse_launch_full):
2316 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2317 (GstParseFlags), (GstParseContext):
2318 * gst/gstutils.c: (gst_parse_bin_from_description),
2319 (gst_parse_bin_from_description_full):
2321 * gst/parse/grammar.y:
2322 * gst/parse/types.h:
2323 * win32/common/libgstreamer.def:
2324 Add new gst_parse_*_full API (#528178):
2325 API: gst_parse_launch_full()
2326 API: gst_parse_launchv_full()
2327 API: gst_parse_bin_from_description_full()
2328 API: gst_parse_context_new()
2329 API: gst_parse_context_free()
2330 API: gst_parse_context_get_missing_elements()
2332 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2334 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2336 * docs/faq/gst-uninstalled:
2337 Also support ffmpeg in gst-uninstalled.
2339 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2342 After discussion on IRC use the binary registry as default
2343 but allow to disable it with --disable-binary-registry.
2345 * win32/common/libgstreamer.def:
2346 Add the two new symbols for the binary registry.
2348 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2350 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2351 * gst/gstutils.c: (gst_parse_bin_from_description):
2352 * gst/parse/grammar.y: (graph):
2353 More guards against bad input; typo fix; some minor clean-ups.
2355 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2357 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2359 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2360 If nothing else can be used, use the last buffer's start time as
2361 the segment's last stop. Fixes bug #534258.
2363 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2365 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2366 Move size sanity check to the right place: downstream may return
2367 a buffer with a smaller size if the buffer caps are different than
2368 the requested ones, as may happen when doing reverse negotiation.
2370 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2372 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2373 (gst_file_sink_render):
2374 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2375 (gst_file_src_start):
2376 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2379 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2381 * gst/gstpad.c: (gst_pad_load_and_link):
2382 * gst/gstutils.c: (gst_element_link_pads),
2383 (gst_element_unlink_pads):
2384 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2385 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2386 (gst_check_teardown_sink_pad),
2387 (gst_check_element_push_buffer_list):
2388 * tests/check/elements/fakesink.c: (GST_START_TEST):
2389 * tests/check/elements/filesink.c:
2390 * tests/check/elements/filesrc.c: (GST_START_TEST):
2391 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2392 (mq_sinkpad_to_srcpad):
2393 * tests/check/elements/tee.c: (GST_START_TEST):
2394 * tests/check/generic/sinks.c: (GST_START_TEST):
2395 * tests/check/gst/gstbin.c: (GST_START_TEST):
2396 * tests/check/gst/gstevent.c: (GST_START_TEST):
2397 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2398 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2399 * tests/check/gst/gstquery.c: (GST_START_TEST):
2400 * tests/check/gst/gstutils.c: (GST_START_TEST):
2401 * tests/check/libs/basesrc.c: (GST_START_TEST):
2402 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2403 (gst_parse_test_element_change_state):
2404 Don't use gst_element_get_pad().
2406 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2409 Fix installing plugin documentation when gtk-doc is disabled.
2411 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2413 * docs/manual/advanced-autoplugging.xml:
2414 * docs/manual/basics-helloworld.xml:
2415 * docs/manual/basics-pads.xml:
2416 * docs/manual/highlevel-components.xml:
2417 Avoid using a bad function in the example code.
2419 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2421 * gst/gstclock.c: (gst_clock_set_calibration):
2422 Fix debug of the new clock rate.
2424 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2426 * win32/common/libgstbase.def:
2427 Add gst_base_sink_wait_clock() to the exported symbols.
2429 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2431 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2433 * libs/gst/base/gstbasetransform.c:
2434 (gst_base_transform_sink_event):
2435 Unref events that the GstBaseTransform::event vfunc didn't want to
2436 have forwarded by the base class. Closes a leak in identity.
2439 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2441 * docs/libs/gstreamer-libs-sections.txt:
2442 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2443 * libs/gst/base/gstbasesink.h:
2444 Expose a method that was previously used internally to synchronize
2445 against the clock because it can be useful for subclasses too.
2446 API: GstBaseSink::gst_base_sink_wait_clock()
2448 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2450 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2451 Add sanity check to make sure we don't get smaller buffers
2452 than requested (and fallback to normal buffer alloc if we do).
2454 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2456 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2457 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2458 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2459 Refactor adjusting the running_time with latency and offset into a
2461 When doing clipping, we still want to use the subclass get_times method,
2462 just in case the DURATION or TIMESTAMP are not set.
2464 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2466 * docs/gst/gstreamer-sections.txt:
2467 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2468 * gst/gsttypefind.h:
2469 * win32/common/libgstreamer.def:
2470 API: add gst_type_find_suggest_simple(), #533740.
2472 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2474 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2475 Use right error code when typefinding fails, so we can use
2476 the default (translated) error messages.
2478 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2480 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2481 (gst_base_src_start):
2482 When the subclass did not set caps on outgoing buffers, configure the
2483 caps we negotiated on the source pad.
2484 When the typefind helper does not find caps, error out properly instead
2485 of doing things with NULL caps.
2487 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2489 * gst/gsttypefind.h:
2490 Tabs to spaces, oh yes!
2492 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2494 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2495 Add David's and Benjamin's tests for array intersection to the
2496 unit test suite (#147931).
2498 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2501 Document that gst_event_new_tag() and gst_event_new_navigation()
2502 take ownership of the taglist/structure passed to them. (#533635).
2504 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
2507 Don't descend into the plugins dir if plugin docs building
2511 Add a note about the new type:GTypeName syntax for the plugin
2512 documentation .types file.
2514 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2516 * gst/gstmessage.c: (gst_message_new_error),
2517 (gst_message_new_warning), (gst_message_new_info):
2519 Mark the debug string parameters as const. Fixes bug #533490.
2521 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
2523 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2524 Sort buffer cache list by end offsets. This makes sure that we don't
2525 stop to search for a cached buffer that contains the requested data
2527 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2528 more efficient. Fixes bug #459862.
2530 2008-05-14 Stefan Kost <ensonic@users.sf.net>
2533 Explain why we copy the list.
2535 * gst/gstpipeline.c:
2539 Add one debug-log statement to help tracing probelms with linking pads.
2541 2008-05-12 Stefan Kost <ensonic@users.sf.net>
2543 * tests/check/gst/gstinfo.c:
2544 Add a test for removing the default log handler. Seems to fail under
2547 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2549 * gst/gstpad.c: (gst_pad_peer_accept_caps):
2550 Release pad lock before calling out to avoid a possible deadlock.
2552 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2554 * gst/parse/grammar.y:
2555 Remove unneeded value unset.
2557 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2558 Add unit test for de/serialization of caps.
2560 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2562 * plugins/elements/gstfakesink.c:
2563 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2564 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2565 (gst_fake_src_class_init):
2566 Use custom marshalers that take GstMiniObject as first parameter.
2567 Using OBJECT as parameter while a GstMiniObject is given will lead
2568 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2570 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2572 * plugins/elements/gsttypefindelement.c:
2573 (gst_type_find_element_handle_event),
2574 (gst_type_find_element_send_cached_events),
2575 (gst_type_find_element_change_state):
2576 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2579 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2581 * plugins/elements/gsttypefindelement.c:
2582 (gst_type_find_handle_src_query), (stop_typefinding),
2583 (gst_type_find_element_handle_event),
2584 (gst_type_find_element_send_cached_events),
2585 (gst_type_find_element_change_state):
2586 Forward FLUSH_START events immediately and clean up instead of
2589 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2591 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2593 * libs/gst/base/gstbasetransform.c:
2594 (gst_base_transform_buffer_alloc):
2595 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2596 fall back to default negotiation in the chain function if the caps
2597 are different from what was requested. Fixes bug #526768.
2599 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2602 * tests/check/gst/gstsegment.c:
2603 No, let's not use g_slice_{dup|copy} here, since they only exist
2604 since GLib 2.14 and we still depend only on >= 2.12. Also add
2605 unit test for gst_segment_copy().
2607 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2609 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2610 Try to fix 'dereferencing type-punned pointer will break strict
2611 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2612 changed the default GType typedef from gulong to gsize at some point,
2613 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2614 g_once_* functions all take a gsize * though, so work around the type
2615 mismatch for C++ by doing everything in gsize and casting to GType
2618 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
2620 * plugins/elements/gstmultiqueue.c:
2621 Add documentation for the signals to push our core plugin docs
2622 coverage back up to 100%.
2624 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2626 * gst/gstinfo.h (GST_FUNCTION):
2627 Reverted GST_FUNCTION to the old version as we don't want the
2628 full signature in C++ code. Also added support for MSVC.
2630 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2633 Intern the type name string, similar to what G_DEFINE_TYPE does.
2635 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2638 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2640 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2642 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2644 * libs/gst/base/gstbasetransform.c:
2645 (gst_base_transform_buffer_alloc):
2646 Don't passthrough buffer allocation too easily if the caps change.
2647 This breaks when working in passthrough mode and upstream changes
2648 it's caps. Fixes bug #526768.
2650 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2652 * gst/gstinfo.c (gst_debug_log_valist):
2653 Improved the __FILE__ part of debug output for MSVC.
2655 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2657 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2658 Declaration after statement fix for compilers like MSVC.
2660 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2662 * win32/common/config.h.in:
2663 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2664 use the real thing than having "???" unconditionally.
2666 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2668 * gst/gstinfo.h (GST_FUNCTION):
2669 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2671 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2673 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2676 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2677 (gst_base_sink_set_flushing):
2678 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2681 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2683 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2684 (gst_fake_src_init), (gst_fake_src_set_property),
2685 (gst_fake_src_get_property), (gst_fake_src_start):
2686 * plugins/elements/gstfakesrc.h:
2687 Added format property to control the format of the newsegment events.
2688 API: GstFakeSrc:format
2690 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2692 * win32/common/libgstreamer.def:
2693 Add gst_pad_has_name() to the exported symbols.
2695 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2697 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2698 * libs/gst/base/gstbasetransform.c:
2699 (gst_base_transform_prepare_output_buffer):
2700 Don't allow negative sizes when allocating new buffers.
2703 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2705 Patch by: Sjoerd Simons <sjoerd at luon net>
2707 * gst/gstbus.c: (gst_bus_source_dispatch):
2708 Don't print a warning if the queue is empty when we try to pop
2709 here. That could happen if another thread or callback set the
2710 bus to flushing between the source's check/prepare and the
2711 dispatch being called (#531538).
2713 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2715 * plugins/elements/gstmultiqueue.c:
2718 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
2720 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2721 Add unit test for deserializing uint64s and check some really large
2722 numbers in the int64 test.
2724 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2726 * tools/gst-inspect.c: (n_print), (print_hierarchy),
2727 (print_interfaces), (print_element_properties_info),
2728 (print_signal_info):
2729 Use "%s" as format string instead of printing strings directly.
2731 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2733 * gst/gstclock.c: (gst_clock_set_calibration):
2734 Make some checks actually useful.
2736 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2737 Remove some unused code. Unsigned integers tend to be >= 0.
2739 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2741 * gst/gstminiobject.c: (gst_value_get_mini_object):
2742 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2743 function was not in the unscheduled 0.10.19 release.
2745 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2747 * gst/gstregistry.c: (gst_registry_scan_path_level):
2748 Only print one log message per non-plugin file.
2750 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2752 * gst/gstinfo.c: (gst_debug_log_default):
2753 Fix alignment of debug log columns on 64-bit.
2755 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2757 * docs/libs/Makefile.am:
2758 * docs/libs/gstreamer-libs-sections.txt:
2759 Ignore private controller headers for docs.
2761 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
2763 * libs/gst/controller/gstcontrollerprivate.h:
2764 * libs/gst/controller/gsthelper.c:
2765 * libs/gst/controller/gstinterpolation.c:
2766 * libs/gst/controller/gstinterpolationcontrolsource.c:
2767 (gst_interpolation_control_source_set_interpolation_mode):
2768 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2769 * libs/gst/controller/lib.c:
2770 Move some private declarations into private headers.
2772 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
2774 * gst/gstdebugutils.c: (debug_dump_element_pad):
2775 Remove some code that is unused after Stefan's refactoring and uses
2776 uninitialized variables now, resulting in a compiler warning.
2778 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
2780 * gst/gstregistry.c: (gst_registry_scan_path_level):
2781 Run g_str_has_suffix() only on the file name, not the
2784 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
2786 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
2787 Since we're not called only from the chain function any longer,
2788 we can't assume that there's always data in the queue, so move
2789 the is_full check to the beginning of the loop (otherwise we'd
2790 hit the assert when changing the limit properties while the
2791 queue is empty or not running yet).
2792 Also, only set a discont if items were actually removed from
2795 * tests/check/elements/queue.c: (test_leaky_downstream):
2796 Test case for the above.
2798 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
2800 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2802 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2803 (gst_queue_chain), (queue_capacity_change),
2804 (gst_queue_set_property):
2805 When changing thr max capacity of a leaky queue, immediatly drop buffers
2806 instead of waiting for a push on the sinkpad. Fixes #530637.
2808 2008-04-30 Stefan Kost <ensonic@users.sf.net>
2810 * gst/gstdebugutils.c:
2811 Refactor code and fix handling of ghostpads and their proxypads.
2813 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
2815 * docs/gst/gstreamer-sections.txt:
2816 * gst/gstevent.c: (gst_event_has_name):
2818 * tests/check/gst/gstevent.c: (GST_START_TEST):
2819 Add method to conveniently check the name of a custom event with
2820 gst_event_has_name().
2821 Reformat the event docs so that related methods are put together instead
2822 of the default alphabetical sort.
2823 Update unit test with new method.
2824 API: GstEvent::gst_event_has_name()
2826 2008-04-28 Michael Smith <msmith@songbirdnest.com>
2828 * libs/gst/check/Makefile.am:
2829 Don't add an explicit link to libgstreamer-0.10.la; it's already
2830 included in GST_OBJ_LIBS.
2832 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
2835 Register GstClock type from a type-safe context. Fixes bug #530317.
2837 2008-04-25 Michael Smith <msmith@songbirdnest.com>
2839 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
2841 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
2843 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
2845 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2847 Use the GLib stuff to create a private structure.
2848 Add some locking around some dispose methods to make them a little
2849 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
2851 2008-04-25 Stefan Kost <ensonic@users.sf.net>
2853 * libs/gst/base/gstbasesink.h:
2854 * libs/gst/base/gstbasesrc.h:
2855 * libs/gst/base/gstbasetransform.h:
2856 * libs/gst/base/gstcollectpads.h:
2857 Fix doc typos and unify caps a bit.
2859 2008-04-25 Stefan Kost <ensonic@users.sf.net>
2861 * tools/gst-launch.1.in:
2862 Forgot to also add the envvar docs here.
2864 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
2866 * gst/gst.c: (init_post), (gst_deinit):
2867 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
2868 (test_concurrent_create), (gst_pipeline_suite):
2869 Ref some more classes in gst_init() to work around thread-safety
2870 issues in pre-2.16 GLibs, and add basic unit test.
2872 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
2874 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2875 (gst_base_sink_send_event):
2876 Rearrange the latency query code. We always want to do the upstream
2877 query, even if we are not live so that the upstream elements can get the
2878 latency results too. If we fail doing the query and we are live, we
2879 return TRUE afterwards.
2881 2008-04-24 Stefan Kost <ensonic@users.sf.net>
2883 patch by: Jason Zhao <e3423c@motorola.com>
2885 * docs/gst/running.xml:
2887 Enable/disable scan_and_update_registry() based on commandline switch
2888 or environment variable. Fixes #520468.
2891 Fix typo in my previous commit.
2893 2008-04-24 Stefan Kost <ensonic@users.sf.net>
2895 * gst/gstregistrybinary.c:
2896 Add a warning if we hit unhandled factories when saving.
2897 More debug logging detail, but move to LOG category.
2899 2008-04-24 Stefan Kost <ensonic@users.sf.net>
2901 * gst/gstregistry.c:
2902 Tell the *truth* when improving the documentation.
2904 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
2906 * gst/gstelementfactory.c: (gst_element_factory_make):
2907 Unref the factory after it was used the last time, not before.
2909 * gst/gstindexfactory.c: (gst_index_factory_make):
2910 Improve debugging a bit and don't leak a ref to the index factory with
2913 2008-04-23 Stefan Kost <ensonic@users.sf.net>
2915 * gst/gstregistry.c:
2916 Improve the documentation.
2918 2008-04-23 Stefan Kost <ensonic@users.sf.net>
2921 The glib macro seems to be borked. Use g_slice_copy directly and cast
2922 in the hope that this fixes the warning on 64bit.
2924 2008-04-23 Stefan Kost <ensonic@users.sf.net>
2927 Document the new function. Use g_slice_dup() (no need for
2928 gst_segment_init()).
2930 2008-04-23 Stefan Kost <ensonic@users.sf.net>
2932 * docs/gst/gstreamer-sections.txt:
2933 Move GParamSepc macros to standart section.
2936 Dn't document _get_type - its in private section in docs anyway and
2937 this doc-blob was incomplete.
2940 Fix wrong symbol names in docs.
2943 Add once doc sentence.
2945 * tests/check/gst/.cvsignore:
2948 2008-04-21 Stefan Kost <ensonic@users.sf.net>
2950 * docs/gst/Makefile.am:
2951 And remove those libs here.
2953 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
2955 * docs/libs/Makefile.am:
2956 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
2958 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
2960 Patch by: Olivier Crete <tester at tester dot ca>
2962 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2963 Add the min-threshold to the min latency if possible. Fixes #529148.
2965 2008-04-21 Stefan Kost <ensonic@users.sf.net>
2967 * docs/gst/gstreamer.types.in:
2968 Stupid editor, I removed that line as it should go in yet.
2970 2008-04-21 Stefan Kost <ensonic@users.sf.net>
2972 * docs/gst/gstreamer.types.in:
2973 * docs/libs/gstreamer-libs.types:
2974 Remove library types fro core docs and have them in libs docs.
2975 Reformat and cleanup. Add comment for miniobject types.
2977 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
2979 * gst/gsturi.c: (gst_uri_get_protocol):
2980 Fix leak: g_strdown operates on the string in place, while
2981 g_ascii_strdown() returns a newly-allocated string.
2983 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
2985 * tools/gst-inspect.c: (print_uri_handler_info),
2986 (print_element_info):
2987 Print the URI protocols and the URI type supported by the element.
2989 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2991 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
2992 Use g_value_take_string() instead of the deprecated
2993 g_value_set_string_take_ownership().
2995 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
2997 * gst/gstregistrybinary.c: (_gst_crc32):
2998 Return the old CRC instead of 0 if we give a NULL buffer
2999 or a buffer with a length of 0.
3001 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3003 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3004 (gst_uri_get_protocol), (gst_uri_has_protocol),
3005 (gst_uri_construct), (gst_uri_handler_set_uri):
3006 A valid URI scheme can also include '+', '-' and '.' additional
3007 to alphanumeric characters as per RFC 3986 Section 3.1.
3009 Handle URI schemes case insensitive in all places and convert
3010 to lower-case when constructing an URI or setting an URI with
3011 the GstURIHandler interface. Fixes bug #528868.
3012 All elements can still assume (as before) that they will
3013 get passed URIs with a lower-case URI scheme by the GstURIHandler
3016 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3018 * gst/gstcaps.c: (gst_static_caps_get):
3019 * gst/gstclock.c: (gst_clock_entry_new):
3020 Don't use g_atomic_set_int where it's not needed.
3022 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3024 * gst/gstvalue.c: (gst_value_deserialize_caps):
3025 * gst/parse/grammar.y:
3028 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3030 * gst/gstutils.c: (gst_atomic_int_set):
3031 Use g_atomic_int_set() here too instead of assignment +
3034 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3038 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3039 now that we depend on new enough GLib.
3041 * gst/gstcaps.c: (gst_static_caps_get):
3042 * gst/gstclock.c: (gst_clock_entry_new):
3043 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3044 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3045 (gst_debug_category_set_threshold):
3046 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3047 (gst_base_sink_set_qos_enabled):
3048 * libs/gst/net/gstnettimeprovider.c:
3049 (gst_net_time_provider_set_property):
3050 Use g_atomic_int_set() instead of gst_atomic_int_set().
3052 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3055 Also use G_GINT64_CONSTANT for the queries.
3057 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3060 Use G_GINT64_CONSTANT in varargs function.
3062 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3064 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3065 Initialize the registry magic with zeroes.
3067 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3069 * gst/gstregistrybinary.c: (_gst_crc32),
3070 (gst_registry_binary_write),
3071 (gst_registry_binary_initialize_magic),
3072 (gst_registry_binary_write_cache),
3073 (gst_registry_binary_check_magic),
3074 (gst_registry_binary_read_cache):
3075 * gst/gstregistrybinary.h:
3076 Add crc32 checksum to the binary registry file and check this before
3077 accepting a registry file.
3079 Also free the data list when writing to the registry file fails.
3081 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3083 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3084 (gst_registry_binary_load_feature),
3085 (gst_registry_binary_load_plugin):
3086 If an element supports the Uri interface, returns a valid pointer
3087 to the supported URI protocols but this pointer contains nothing
3088 don't try to save that as it will corrupt the registry.
3090 Don't unref the plugin if we added it to the registry already but
3091 fail to load a feature as gst_registry_add_plugin() takes ownership
3094 Improve debugging a bit.
3096 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3099 Clarify some tag item docs after discussion on irc.
3101 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3103 * docs/gst/gstreamer-docs.sgml:
3104 Remove commented out plugins (they have their own docs). Update
3107 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3109 * docs/gst/gstreamer-docs.sgml:
3110 * docs/gst/gstreamer-sections.txt:
3111 * gst/gstparamspecs.c:
3112 * gst/gstparamspecs.h:
3113 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3114 docs to own section.
3117 This now only documents GValue.
3119 * docs/libs/gstreamer-libs-sections.txt:
3120 * libs/gst/controller/gstcontroller.h:
3121 Remove GST_PARAM_CONTROLLABLE.
3123 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3126 Correct file path. Tell about how to use -overrides.txt.
3127 * docs/design/draft-tagreading.txt:
3128 Small design update.
3130 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3132 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3133 (gst_registry_binary_load_plugin):
3134 Fix a typo in a debug message and revert change from yesterday as
3135 gst_registry_add_plugin() will only fail if something is really wrong
3136 already and we can't survive it anyway.
3138 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3140 * gst/gst.c: (init_post), (gst_deinit):
3141 Pre-register GstGError GType from a thread-safe context
3142 (fixes #527967); unref enum type classes in deinit.
3144 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3146 Patch by: Rene Stadler <mail at renestadler de>
3148 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3149 Merging an empty list with another list in KEEP_ALL mode should
3150 yield an empty list as result and not the second list (#512578).
3152 * tests/check/gst/gsttagsetter.c:
3153 Add unit test for tag merge modes and the aforementioned bug.
3155 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3157 Patch by: Rene Stadler <mail at renestadler de>
3160 Fix description to match the order in the table (#512577).
3162 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3164 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3166 * libs/gst/net/gstnettimepacket.h:
3167 * docs/libs/gstreamer-libs-sections.txt:
3168 Define socklen_t as int if it's not defined yet. Fixes compilation
3169 with MSVC6 and other versions where socklen_t is not defined in
3170 the windows headers (#518022).
3172 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3174 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3175 If gst_registry_add_plugin() fails our reference to the plugin is
3176 invalid so don't try to use it anymore and instead error out.
3178 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3180 * tools/gst-xmlinspect.c: (print_element_info), (main):
3181 De-cruft a bit. If no argument is specified, print all elements in
3182 XML syntax rather than a freestyle list of elements like gst-inspect.
3183 Also, don't print XML header chunk unless we actually have something
3184 to print (ie. don't print it before an error message); print error
3185 message to stderr not stdout. Remove support for printing plugin
3186 info (it would just output something freestyle along the lines of
3187 gst-inspect so far), which fixes #514507. Also add license header.
3189 2008-04-11 Julien Moutte <julien@fluendo.com>
3192 * configure.ac: Merge platform specific defines, introduce a new
3193 define on OS X to remember that forking when updating registry is
3195 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3197 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3199 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3200 condition that leads to absolutely no plugins being registered on
3203 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3205 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3207 * gst/gstutils.c: (gst_pad_add_data_probe),
3208 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3209 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3210 (gst_pad_add_buffer_probe_full):
3212 * docs/gst/gstreamer-sections.txt:
3213 * win32/common/libgstreamer.def:
3214 Add gst_pad_add_*_probe_full() functions with a notify callback that
3215 lets the caller free the data it passes to the probe functions. This
3216 is useful for bindings such as gst-python or gstreamermm (#526814).
3217 API: gst_pad_add_data_probe_full
3218 API: gst_pad_add_buffer_probe_full
3219 API: gst_pad_add_event_probe_full
3221 * tests/check/gst/gstutils.c:
3222 Add minimal unit test to make sure freeing the data actually works
3225 * tests/benchmarks/.cvsignore:
3226 Random cvsignore addendum.
3228 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3230 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3231 (GST_DEBUG_BIN_TO_DOT_FILE):
3232 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3233 to it in the docs (since these are macros the types of the arguments
3234 won't be shown in the docs otherwise).
3236 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3239 Do not abort on out of memory for pad_alloc_buffer.
3241 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3243 * libs/gst/check/gstcheck.c:
3244 Remove blank line between symbol name ad parameters to fix gtkdoc
3247 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3249 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3251 * docs/gst/gstreamer-sections.txt:
3254 * win32/common/libgstreamer.def:
3255 Expose gst_segment_copy() to make things easier for the c++ bindings.
3257 API: gst_segment_copy()
3259 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3261 * gst/gst.c: (gst_init_get_option_group), (init_post):
3262 Fix const position; ref GType classes for enum types to work
3263 around thread-safety issues in GLib versions < 2.16.
3265 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3267 * docs/design/part-buffering.txt:
3268 Fix some typos and set the estimated total for push mode to -1.
3270 * gst/gstquery.c: (gst_query_new_buffering):
3271 Set buffering-left to 0 as we're not buffering by default.
3273 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3274 Implement BUFFERING query.
3276 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3278 Based on patch by: Milosz Derezynski <internalerror gmail com>
3280 * gst/gsterror.c: (_gst_stream_errors_init):
3282 Add two new error codes for encrypted content. Fixes #524659.
3283 API: GST_STREAM_ERROR_DECRYPT
3284 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3286 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3291 * win32/common/libgstreamer.def:
3294 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3296 * plugins/elements/gstidentity.c: (gst_identity_event),
3297 (gst_identity_start):
3298 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3299 event after processing some data. Fixes bug #526042.
3301 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3303 * docs/gst/gstreamer-sections.txt:
3304 * gst/gstquery.c: (gst_query_parse_latency),
3305 (gst_query_set_buffering_percent),
3306 (gst_query_parse_buffering_percent),
3307 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3309 Rename _avail -> _range
3310 API: gst_query_set_buffering_range
3311 API: gst_query_parse_buffering_range
3313 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3315 * docs/design/part-buffering.txt:
3318 * gst/gstquery.c: (gst_query_parse_latency),
3319 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3320 (gst_query_parse_buffering_percent):
3322 Add busy field and quark for the buffering query so that the app can
3323 only use the query to see if buffering is in progress.
3325 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3327 * docs/gst/gstreamer-sections.txt:
3328 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3329 (gst_message_parse_buffering_stats):
3331 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3332 (gst_query_parse_latency), (gst_query_new_buffering),
3333 (gst_query_set_buffering_percent),
3334 (gst_query_parse_buffering_percent),
3335 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3336 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3338 Reorder the message docs and headers for clarity.
3339 Add aditional buffering stats API for messages.
3340 Add buffering query.
3341 Convert some leftover queries to use GstQuark.
3342 API: gst_message_set_buffering_stats
3343 API: gst_message_parse_buffering_stats
3344 API: GST_QUERY_BUFFERING
3345 API: GstBufferingMode
3346 API: gst_query_new_buffering
3347 API: gst_query_set_buffering_percent
3348 API: gst_query_parse_buffering_percent
3349 API: gst_query_set_buffering_stats
3350 API: gst_query_parse_buffering_stats
3352 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3354 * gst/gstmessage.c: (gst_message_new_error),
3355 (gst_message_new_warning), (gst_message_new_info),
3356 (gst_message_new_buffering), (gst_message_new_state_changed),
3357 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3358 (gst_message_new_new_clock), (gst_message_new_segment_start),
3359 (gst_message_new_segment_done), (gst_message_new_duration),
3360 (gst_message_new_async_start), (gst_message_parse_buffering),
3361 (gst_message_parse_state_changed),
3362 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3363 (gst_message_parse_new_clock), (gst_message_parse_error),
3364 (gst_message_parse_warning), (gst_message_parse_info),
3365 (gst_message_parse_segment_start),
3366 (gst_message_parse_segment_done), (gst_message_parse_duration),
3367 (gst_message_parse_async_start):
3368 Use GstQuark for messages.
3370 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3372 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3374 Add some more quarks needed for messages and queries.
3376 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3378 * docs/design/part-buffering.txt:
3379 Remove the "none" buffering mode, STREAM is a good default.
3380 Move estimated-time to the avail query, that's when it will be needed.
3381 Other small typo fixes and updates.
3383 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3385 * gst/gstindex.c: (gst_index_resolver_get_type):
3386 Don't put descriptions into the nick field of a GEnumValue: it's not
3387 meant for that and some language bindings rely on the nick field to
3388 construct constants and the like. Fixes #526705.
3390 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3395 Merge other changes from 0.10.19 release branch.
3397 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3399 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3402 Actually build dlls when cross-compiling with mingw32.
3405 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3407 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3410 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3412 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3414 * docs/design/draft-latency.txt:
3417 * docs/design/part-buffering.txt:
3418 Update design docs with more buffering ideas.
3420 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3423 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3425 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3428 Revert part that belongs to the preset patch.
3430 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3433 Add qoutes to the define. Fixes # 525961.
3435 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3437 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3438 (gst_file_index_load), (gst_file_index_add_id),
3439 (gst_file_index_get_assoc_entry):
3440 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3441 (gst_mem_index_free_id), (gst_mem_index_add_id),
3442 (gst_mem_index_index_format):
3443 Use GSlice when possible.
3445 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
3447 * libs/gst/controller/gstinterpolationcontrolsource.c:
3448 (gst_control_point_free),
3449 (gst_interpolation_control_source_set_internal):
3450 Use GSlice for allocating the control points.
3452 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
3454 * plugins/elements/gsttypefindelement.c:
3455 (gst_type_find_element_class_init),
3456 (gst_type_find_element_set_property),
3457 (gst_type_find_element_get_property),
3458 (gst_type_find_element_activate):
3459 * plugins/elements/gsttypefindelement.h:
3461 Fix pad leak when peer query fails.
3462 We can still typefind when the peer returns -1.
3463 Add property to force caps and bypass typefinding. This will be used in
3467 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3472 * gst/glib-compat-private.h:
3473 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3474 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3475 Unconditionally use GSlice for allocation.
3477 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3478 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3479 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3480 (gst_structure_free):
3481 Use GSlice for allocation.
3483 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3485 * gst/parse/Makefile.am:
3486 * gst/parse/grammar.tab.pre.c:
3487 * gst/parse/grammar.tab.pre.h:
3488 * gst/parse/lex._gst_parse_yy.pre.c:
3489 Require a new enough flex and bison and remove the parser hacks to use
3490 a pre-regenerated version.
3492 2008-04-01 Julien Moutte <julien@fluendo.com>
3494 patch by: Jason Zhao <E3423C@motorola.com>
3496 * configure.ac: Add a configure switch to disable option parsing
3500 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3503 * gst/gstregistry.c:
3504 MacOS has plugins under .so or under .dylib. Add detection for MacOS
3505 and handle this case.
3508 Add a comment here describing, why we stat each plugin and not try to
3511 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
3513 * libs/gst/base/gstbasetransform.c:
3514 (gst_base_transform_prepare_output_buffer):
3515 Also unset the GAP flag on buffers if we're working inplace but
3516 the element is not GAP-aware.
3518 Mark a comment as FIXME 0.11.
3520 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3523 Fix type in log message and add one to ease seeing how long registry
3524 cache verification takes.
3526 * gst/gstregistry.c:
3527 Only test plugin filenames against G_MODULE_SUFFIX.
3529 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3531 * gst/gstdebugutils.c:
3532 Improve handling ghost/proxy pads.
3534 2008-03-27 Stefan Kost <ensonic@users.sf.net>
3536 * docs/gst/gstreamer-sections.txt:
3539 Expose macro to docs and fix link to it.
3541 2008-03-27 Michael Smith <msmith@fluendo.com>
3543 * libs/gst/dataprotocol/dataprotocol.c:
3544 (gst_dp_packet_from_event_1_0):
3545 When calculating GDP body CRC, use the correct pointer.
3546 Fixes part of #522401.
3548 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3550 Patch by: Mark Nauwelaerts <manauw at skynet be>
3552 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3553 (gst_identity_init), (gst_identity_prepare_output_buffer):
3554 Identity is not always a passthrough element, it can modify the buffer
3555 timestamps when it has a datarate and operates in single-segment mode.
3556 We therefore make it an in_place filter with a custom buffer prepare
3557 function that conditionally makes the input buffer metadata writable
3558 when needed. Fixes #523985.
3560 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3562 Patch by: Mark Nauwelaerts <manauw at skynet be>
3565 * libs/gst/base/gstbasesrc.h:
3566 * libs/gst/base/gstbasetransform.c:
3567 * libs/gst/check/gstcheck.c:
3568 Small documentation fixes. Fixes #523978.
3570 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3572 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3573 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3574 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3576 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3578 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3579 (single_queue_underrun_cb):
3580 When trying to make room in the queue, bump the max allowed buffers
3581 bigger than the current amount of buffers in the queue. this fixes some
3582 nasty deadlocks in multiqueue when dynamically changing the limits of
3585 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3587 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3589 * gst/gstcaps.c: (gst_caps_set_simple),
3590 (gst_caps_set_simple_valist), (gst_caps_intersect):
3592 Constify the field gchar * params in set_simple and friends.
3595 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3597 * gst/gstvalue.c: (gst_value_transform_object_string):
3598 Transform a GstObject to a more meaningfull string that includes the
3599 object type in addition to its name.
3601 2008-03-23 Stefan Kost <ensonic@users.sf.net>
3604 ChangeLog surgery to add bugnumber to commit.
3606 2008-03-23 Rene Stadler <mail@renestadler.de>
3608 * libs/gst/base/gstbasetransform.c:
3609 (gst_base_transform_set_gap_aware): Fix confusing documentation.
3611 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3613 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3614 Rename constant everywhere and don't forget one occurence.
3616 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3618 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3619 Align memory to the pointer size even if the architecture allows
3620 unaligned memory access. Unaligned memory access usually comes with
3621 performance penality.
3623 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3625 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3626 (gst_registry_binary_check_magic),
3627 (gst_registry_binary_load_pad_template),
3628 (gst_registry_binary_load_feature),
3629 (gst_registry_binary_load_plugin):
3630 Align memory to the pointer size instead of always 32 bit. Fixes
3631 unaligned memory accesses on ia64 and friends.
3633 * gst/gstregistrybinary.h:
3634 Bump binary registry format version for this as it changes the
3635 format on those architectures that don't have unaligned access
3636 and 64 bit pointers.
3638 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3640 * docs/pwg/advanced-dparams.xml:
3641 * docs/pwg/building-props.xml:
3642 * docs/pwg/other-source.xml:
3643 * gst/glib-compat.h:
3644 * gst/gstbin.c: (gst_bin_class_init):
3645 * gst/gstclock.c: (gst_clock_class_init):
3646 * gst/gstindex.c: (gst_index_class_init):
3647 * gst/gstobject.c: (gst_object_class_init):
3648 * gst/gstpad.c: (gst_pad_class_init):
3649 * gst/gstpipeline.c: (gst_pipeline_class_init):
3650 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3651 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3652 * libs/gst/base/gstbasetransform.c:
3653 (gst_base_transform_class_init):
3654 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3655 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3656 (_gst_check_fault_handler_sighandler),
3657 (_gst_check_fault_handler_setup), (gst_check_init):
3658 * libs/gst/controller/gstcontroller.c:
3659 (_gst_controller_class_init):
3660 * libs/gst/controller/gstlfocontrolsource.c:
3661 (gst_lfo_control_source_class_init):
3662 * libs/gst/net/gstnetclientclock.c:
3663 (gst_net_client_clock_class_init):
3664 * libs/gst/net/gstnettimeprovider.c:
3665 (gst_net_time_provider_class_init):
3666 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3667 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3668 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3669 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3670 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3671 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3672 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3673 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3674 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3675 * plugins/elements/gstqueue.c: (gst_queue_class_init):
3676 * plugins/elements/gsttee.c: (gst_tee_class_init):
3677 * plugins/elements/gsttypefindelement.c:
3678 (gst_type_find_element_class_init):
3679 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3680 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3681 use it everywhere for GParamSpecs that use static strings (i.e. all).
3682 This gives us less memory usage, fewer allocations and thus less
3683 memory defragmentation. Fixes bug #523806.
3685 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3687 * gst/gstminiobject.c: (gst_value_dup_mini_object),
3688 (gst_param_spec_mini_object):
3689 * gst/gstminiobject.h:
3690 * win32/common/libgstreamer.def:
3691 * docs/gst/gstreamer-sections.txt:
3692 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3693 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3694 GstParamSpecMiniObject into a public header for this.
3696 This make GstMiniObject a bit more consistent with GObject and makes
3697 it possible to extend the param specs.
3699 gst_value_dup_mini_object is mainly useful for set_property methods.
3703 * tools/gst-inspect.c: (print_element_properties_info):
3704 Print something useful for GstMiniObject properties and not just
3707 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3709 * docs/gst/gstreamer-sections.txt:
3710 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3711 (gst_registry_binary_check_magic):
3712 * gst/gstregistrybinary.h:
3713 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3714 and add it to the (private part) of the docs to fix the build.
3716 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3718 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3719 (gst_registry_binary_check_magic),
3720 (gst_registry_binary_read_cache):
3721 * gst/gstregistrybinary.h:
3722 Don't use GST_MAJORMINOR for the binary registry version. Instead
3723 hardcode a value that must be changed whenever the format changes
3724 in an incompatible way.
3725 Also don't GST_ERROR when there is a version mismatch, just
3726 regenerate the registry silently.
3728 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
3731 Back to development - 0.10.18.1
3733 === release 0.10.18 ===
3735 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
3738 releasing 0.10.18, "So far away"
3740 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
3743 * win32/common/config.h:
3744 0.10.17.4 pre-release
3746 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
3748 Patch by: Ole André Vadla Ravnås
3749 <ole dot andre dot ravnas at tandberg dot com>
3751 * docs/gst/gstreamer-sections.txt:
3752 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3753 (gst_poll_update_winsock_event_mask),
3754 (gst_poll_prepare_winsock_active_sets),
3755 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3756 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3757 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3758 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3759 (gst_poll_check_ctrl_commands), (gst_poll_wait):
3761 * win32/common/libgstreamer.def:
3762 Add new function gst_poll_fd_ignored() for improved Windows
3764 Various minor fixes and cleanups. See #520808.
3766 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
3768 * gst/gstindex.c: (gst_index_entry_free):
3770 Don't free key strings which we don't own. Fixes crash in
3771 gst_index_entry_free() (#522741).
3773 * tests/check/Makefile.am:
3774 * tests/check/gst/.cvsignore:
3775 * tests/check/gst/gstindex.c: (test_index_entries),
3776 (gst_index_suite), (gst_index):
3777 Add unit test for the above.
3779 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
3781 * win32/common/libgstreamer.def:
3782 Remove symbols that were removed recently. Fixes bug #521740.
3784 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
3787 * win32/common/config.h:
3788 0.10.17.3 pre-release
3790 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
3792 Patch by: Ole André Vadla Ravnås
3793 <ole dot andre dot ravnas at tandberg dot com>
3795 * docs/gst/gstreamer-sections.txt:
3796 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
3797 (gst_poll_update_winsock_event_mask), (gst_poll_new),
3798 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
3799 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3800 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3801 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3802 (gst_poll_fd_can_write), (gst_poll_wait),
3803 (gst_poll_set_controllable), (gst_poll_restart),
3804 (gst_poll_set_flushing):
3806 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3807 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3808 (gst_net_time_provider_new):
3809 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3810 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3811 * tests/benchmarks/gstpollstress.c: (main):
3812 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3813 Remove GstPollMode from the API, it does not make sense to let the
3814 application control this.
3815 Add support for Win32.
3816 Fix the testsuite. Fixes #520671.
3818 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
3820 Patch by: Ole André Vadla Ravnås
3821 <ole dot andre dot ravnas at tandberg dot com>
3823 * gst/gstregistrybinary.c:
3824 Include io.h for write() and close() when building with MSVC. Fixes
3827 2008-03-07 Stefan Kost <ensonic@users.sf.net>
3830 * gst/gst_private.h:
3831 * gst/gstconfig.h.in:
3832 * gst/gstregistry.h:
3833 * gst/gstregistrybinary.c:
3834 * win32/common/gstconfig.h:
3835 Move registry backend API to private headers where we can. Add
3836 fixme-0.11 comments for the others. Add stubs for the xml backend when
3837 using the binary to ensure they functions exists (they should not be
3838 used though). Fixes #520756.
3840 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
3843 * win32/common/config.h:
3846 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
3848 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3849 (gst_registry_binary_read_cache):
3850 * gst/gstregistryxml.c: (gst_registry_save):
3851 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
3852 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
3853 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3854 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3855 Switch to using portabl gsize/gssize instead of size_t/ssize_t
3858 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
3860 * gst/gstminiobject.c:
3861 Import gst_private.h before any other header that might include other
3862 glib headers. This fixes the build on windows using native compilers.
3864 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
3866 * win32/common/gstconfig.h:
3867 Add here too, just for completeness.
3869 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
3872 * gst/gstconfig.h.in:
3873 * gst/gstregistry.h:
3874 Fix broken use of config.h-defined preprocessor directive in a public
3875 header file. Add a corresponding define to gstconfig.h, since we can't
3876 really remove those function declarations from the header file now
3877 (or can we? and why are they there in the first place?).
3879 2008-03-03 Andy Wingo <wingo@pobox.com>
3881 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
3884 * gst/gststructure.c (gst_structure_from_string): Warn if
3885 structure_from_string didn't consume the whole string, but the
3886 caller did not provide an end pointer.
3888 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
3890 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
3892 * gst/gstregistryxml.c: (read_string), (load_feature):
3893 Strings allocated by libxml2 should be freed with xmlFree(), not
3894 with g_free(). Fixes issues on windows in certain contexts (#519698).
3896 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
3898 * gst/gstinterface.c: (gst_element_implements_interface):
3899 Don't crash if the element supports the interface queried, but does
3900 not implement GstImplementsInterface. Fixes #519584.
3902 * tests/check/Makefile.am:
3903 * tests/check/gst/.cvsignore:
3904 * tests/check/gst/gstinterface.c:
3905 Add unit test for the above.
3907 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
3909 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3912 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
3914 * gst/gstsegment.c: (gst_segment_set_seek),
3915 (gst_segment_to_stream_time):
3916 Improve some comment.
3917 Update variables where it makes more sense.
3919 2008-02-29 Rene Stadler <mail@renestadler.de>
3921 * gst/gsturi.c: (gst_uri_handler_get_protocols):
3922 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
3923 URIHandlers implemented using language bindings.
3925 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
3927 * gst/gstelementfactory.h:
3928 * tests/check/elements/fakesink.c:
3929 * tests/check/elements/fakesrc.c: (setup_fakesrc):
3930 * tests/check/elements/fdsrc.c: (setup_fdsrc):
3931 * tests/check/elements/filesink.c: (setup_filesink):
3932 * tests/check/elements/filesrc.c: (setup_filesrc):
3933 * tests/check/elements/identity.c: (setup_identity):
3934 * tests/check/elements/tee.c:
3935 * tests/check/generic/sinks.c:
3936 * tests/check/generic/states.c: (setup), (teardown):
3937 * tests/check/gst/gst.c:
3938 * tests/check/gst/gstabi.c:
3939 * tests/check/gst/gstbin.c:
3940 * tests/check/gst/gstbus.c: (pull_messages):
3941 * tests/check/gst/gstcaps.c:
3942 * tests/check/gst/gstelement.c:
3943 * tests/check/gst/gstevent.c:
3944 * tests/check/gst/gstghostpad.c:
3945 * tests/check/gst/gstiterator.c:
3946 * tests/check/gst/gstmessage.c:
3947 * tests/check/gst/gstminiobject.c: (my_foo_init):
3948 * tests/check/gst/gstobject.c: (thread_name_object),
3950 * tests/check/gst/gstpad.c:
3951 * tests/check/gst/gstplugin.c:
3952 * tests/check/gst/gstpoll.c:
3953 * tests/check/gst/gstquery.c:
3954 * tests/check/gst/gstsegment.c:
3955 * tests/check/gst/gststructure.c:
3956 * tests/check/gst/gstsystemclock.c:
3957 * tests/check/gst/gsttask.c:
3958 * tests/check/gst/gstutils.c:
3959 * tests/check/gst/gstvalue.c:
3960 * tests/check/gst/struct_hppa.h:
3961 * tests/check/gst/struct_i386.h:
3962 * tests/check/gst/struct_ppc32.h:
3963 * tests/check/gst/struct_ppc64.h:
3964 * tests/check/gst/struct_x86_64.h:
3965 * tests/check/libs/adapter.c: (create_and_fill_adapter):
3966 * tests/check/libs/basesrc.c:
3967 * tests/check/libs/controller.c: (GST_START_TEST):
3968 * tests/check/libs/gdp.c:
3969 * tests/check/libs/gstnetclientclock.c:
3970 * tests/check/libs/gstnettimeprovider.c:
3971 * tests/check/libs/libsabi.c:
3972 * tests/check/libs/struct_hppa.h:
3973 * tests/check/libs/struct_i386.h:
3974 * tests/check/libs/struct_ppc32.h:
3975 * tests/check/libs/struct_ppc64.h:
3976 * tests/check/libs/struct_x86_64.h:
3977 * tests/check/pipelines/cleanup.c:
3978 * tests/check/pipelines/simple-launch-lines.c:
3979 * tests/check/pipelines/stress.c:
3980 And correct even more valid sparse warnings.
3982 * win32/common/libgstreamer.def:
3983 Add gst_poll_fd_init to the list of symbols.
3985 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
3987 * gst/gstconfig.h.in:
3988 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
3989 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
3990 (gst_check_log_critical_func), (gst_check_drop_buffers),
3991 (gst_check_element_push_buffer_list):
3992 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
3993 (gst_controller_get_type):
3994 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
3995 (gst_object_get_controller), (gst_object_get_control_source):
3996 * libs/gst/controller/gstinterpolationcontrolsource.c:
3997 (gst_interpolation_control_source_new):
3998 * libs/gst/controller/gstlfocontrolsource.c:
3999 (gst_lfo_control_source_new):
4000 * libs/gst/dataprotocol/dataprotocol.c:
4001 (gst_dp_event_from_packet_0_2):
4002 * plugins/elements/gstfdsrc.c:
4003 * plugins/elements/gstmultiqueue.c:
4004 * plugins/elements/gsttee.c:
4005 * plugins/elements/gsttypefindelement.c:
4006 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4007 (gst_file_index_add_association):
4008 * plugins/indexers/gstmemindex.c:
4009 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4010 * tests/check/elements/queue.c: (setup_queue):
4011 * tests/check/gst/gstpipeline.c:
4012 * tests/check/libs/collectpads.c: (setup), (teardown),
4013 (gst_collect_pads_suite):
4014 * tests/examples/adapter/adapter_test.c:
4015 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4016 * tests/examples/xml/createxml.c:
4017 * tests/examples/xml/runxml.c:
4018 * tools/gst-inspect.c:
4020 Correct all relevant warnings found by the sparse semantic code
4021 analyzer. This include marking several symbols static, using
4022 NULL instead of 0 for pointers, not using variable sized arrays
4023 on the stack, moving variable declarations to the beginning of
4024 a block and using "foo (void)" instead of "foo ()" for declarations.
4026 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4028 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4029 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4030 Don't reset GstPollFDs, this is not necessary at all.
4032 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4033 (delayed_restart), (delayed_control):
4034 Use GST_POLL_FD_INIT.
4036 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4038 * gst/gstpoll.c: (gst_poll_fd_init):
4042 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4043 Use some more init macros.
4045 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4047 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4048 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4049 Use init macros and functions.
4051 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4053 * docs/gst/gstreamer-sections.txt:
4054 * gst/gstpoll.c: (gst_poll_fd_init):
4056 Add INIT macro and _init method for initializing the GstPollFD.
4058 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4060 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4061 (gst_fd_sink_update_fd):
4062 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4063 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4064 (delayed_restart), (delayed_control):
4065 Initialize some uninitialized variables as spotted by valgrind.
4067 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4069 * tests/benchmarks/Makefile.am:
4070 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4072 Add poll stress test.
4074 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4076 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4078 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4079 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4080 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4081 * plugins/elements/gstfdsink.h:
4082 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4083 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4084 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4085 (gst_fd_src_uri_set_uri):
4086 * plugins/elements/gstfdsrc.h:
4087 Port to GstPoll. See #505417.
4089 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4091 * win32/common/libgstreamer.def:
4092 Add new gst_poll_ symbols to win32 defs.
4094 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4096 * docs/libs/gstreamer-libs-sections.txt:
4097 * libs/gst/net/gstnetclientclock.c:
4098 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4099 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4100 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4101 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4102 * libs/gst/net/gstnetclientclock.h:
4103 * libs/gst/net/gstnettimeprovider.c:
4104 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4105 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4106 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4107 (gst_net_time_provider_new):
4108 * libs/gst/net/gstnettimeprovider.h:
4109 Use a private stuct to not break ABI.
4111 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4113 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4115 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4116 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4117 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4118 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4119 * libs/gst/net/gstnetclientclock.h:
4120 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4121 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4122 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4123 (gst_net_time_provider_new):
4124 * libs/gst/net/gstnettimeprovider.h:
4125 Massive code removal and cleanups because of GstPoll.
4128 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4131 Add checks for poll, ppoll and pselect.
4133 * docs/gst/gstreamer-docs.sgml:
4134 * docs/gst/gstreamer-sections.txt:
4135 Add docs for GstPoll.
4139 * gst/gstpoll.c: (find_index), (selectable_fds),
4140 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4141 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4142 (gst_poll_set_mode), (gst_poll_get_mode),
4143 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4144 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4145 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4146 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4147 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4148 (gst_poll_fd_can_write), (gst_poll_wait),
4149 (gst_poll_set_controllable), (gst_poll_restart),
4150 (gst_poll_set_flushing):
4152 Add generic poll abstraction. We ideally don't want to have this in core
4153 here but in glib intead...
4154 This code will be used in various network elements and ultimately for
4155 the nanosecond precision monotonic clock (that's why it's here in core).
4156 It'll allow us to implement cancelable socket operations for windows too.
4158 * tests/check/Makefile.am:
4159 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4160 (delayed_stop), (delayed_restart), (delayed_flush),
4161 (delayed_control), (gst_poll_suite):
4162 Add GstPoll unit test.
4164 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4167 Improve documentation of gst_filter_run(). Fixes #518627.
4169 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4172 Add a few lines about the new 'check-inspected-versions' target.
4174 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4176 * tests/check/gst/gstevent.c:
4177 Add qos to the event test. Rename tcase/tsuite; is not only about
4180 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4182 * plugins/elements/gstqueue.c:
4183 Ensure that buffer metadata is writeable, before modifying. Spotted by
4186 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4188 * plugins/elements/gstqueue.c:
4189 * plugins/elements/gstqueue.h:
4190 When dropping buffers in leaky modes, mark next buffers we sent as
4193 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4195 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4196 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4198 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4200 * plugins/elements/Makefile.am:
4201 * plugins/elements/gstbufferstore.c:
4202 * plugins/elements/gstbufferstore.h:
4203 * plugins/elements/gsttypefindelement.h:
4204 Remove GstBufferStore, no idea why we were still building it.
4205 It's not used anywhere and superseded by GstAdapter.
4207 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4208 (gst_file_src_create_mmap):
4209 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4210 Printf format fixes for 64-bit integers.
4212 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4215 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4216 We're not in 0.8 times anymore.
4218 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4220 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4221 (gst_check_element_push_buffer_list):
4222 * libs/gst/check/gstcheck.h:
4223 Make the declaration in the header for
4224 gst_check_element_push_buffer_list match the implementation.
4226 Fix up spelling, grammar and wording of the documentation in a few
4227 places, and add the Since keyword to new API functions.
4228 Use g_list_delete_link instead of g_list_remove in
4229 gst_check_drop_buffers, since it's immeasurably more efficient.
4231 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4232 Use new gst_check_drop_buffers function where appropriate.
4234 * win32/common/libgstbase.def:
4235 * win32/common/libgstreamer.def:
4236 Add new symbols gst_collect_pads_take_buffer,
4237 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4240 Changelog surgery to add API keyword to new gst_check API.
4242 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4244 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4245 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4246 Update pre-generated flex files with flex 2.3.34.
4248 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4250 * gst/gstminiobject.c:
4251 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4252 friendly to subclasses and not require them to know all internals
4253 of their parent class.
4255 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4257 * docs/libs/gstreamer-libs-sections.txt:
4258 * libs/gst/base/gstcollectpads.c:
4259 * libs/gst/base/gstcollectpads.h:
4260 Add sub-buffer functions to collectpads. Fixes #516187.
4261 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4263 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4266 Copy selected buffer-flags when creating subbuffers.
4269 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4271 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4272 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4273 * gst/gstmessage.c: (gst_message_class_init),
4274 (gst_message_finalize):
4275 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4276 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4277 (gst_mmap_buffer_finalize):
4278 Properly chain up finalize functions to the parent class.
4280 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4282 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4284 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4285 (gst_index_set_resolver_full):
4287 Add new function with option to dispose of user_data in resolver.
4288 Actually call the dispose function when finalizing the object and not
4289 just when changing the resolver/filter.
4290 API: GstIndex::gst_index_set_resolver_full()
4292 * docs/gst/gstreamer-sections.txt:
4293 Add new function to docs. Fixes #515469.
4295 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4297 * gst/gstindex.c: (gst_index_finalize):
4298 Chain up finalize to the parent class. Fixes leaking the GstObject
4299 name and other things.
4301 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4304 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4305 pre-releases or releases.
4307 * docs/faq/gst-uninstalled:
4310 * docs/random/release:
4311 Change one of the steps - we only upload core & base to Gnome FTP
4313 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4315 * gst/gstconfig.h.in:
4316 Add 'id' for example.
4320 * plugins/elements/gstfdsink.c:
4321 Link to signals. Doc and comment fixes.
4323 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4325 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4326 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4327 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4328 unused and unimplemented; finally, it is plugin features, not
4329 plugins, that have ranks.
4331 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4333 * gst/gstpluginfeature.h:
4334 Clarify GstRank range docs.
4336 2008-02-05 David Schleef <ds@schleef.org>
4338 * gst/gst.c: Add a separate gst_deinitialized that prevents
4339 gst_init() from being called after gst_deinit(). Fixes #509559
4341 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4343 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4344 (gst_bin_class_init):
4345 * gst/gstelement.c: (gst_element_base_class_init),
4346 (gst_element_class_add_pad_template):
4347 * gst/gstpadtemplate.c: (gst_pad_template_init):
4348 * gst/gstpipeline.c: (gst_pipeline_get_type),
4349 (gst_pipeline_base_init), (gst_pipeline_class_init):
4350 * libs/gst/base/gstbasesink.c:
4351 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4352 (gst_base_src_base_init), (gst_base_src_class_init):
4353 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4354 (gst_capsfilter_class_init):
4355 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4356 (gst_fake_sink_class_init):
4357 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4358 (gst_fake_src_class_init):
4359 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4360 (gst_fd_sink_class_init):
4361 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4362 (gst_fd_src_class_init):
4363 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4364 (gst_file_sink_class_init):
4365 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4366 (gst_file_src_class_init):
4367 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4368 (gst_identity_class_init):
4369 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4370 (gst_multi_queue_class_init):
4371 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4372 (gst_queue_class_init):
4373 * plugins/elements/gsttee.c: (gst_tee_base_init),
4374 (gst_tee_class_init):
4375 * plugins/elements/gsttypefindelement.c:
4376 (gst_type_find_element_base_init),
4377 (gst_type_find_element_class_init):
4378 * tests/check/gst/gstelement.c: (gst_element_suite):
4379 Revert previous changes to the behaviour of GstPadTemplates, etc
4380 and the possiblity to call them in class_init as it breaks too
4381 many elements. Reopens bug #491501.
4383 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4386 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4388 * tools/gst-launch.c:
4389 Dump one graph per pipeline state-change and state change name
4390 (if GST_DEBUG_DUMP_DOT_DIR is set).
4392 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4395 * tests/check/gst/gstpad.c:
4396 Be sure that we have a new copy of the caps and not
4397 reffed caps from a template
4399 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4401 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4402 * gst/gstpipeline.c: (gst_pipeline_get_type),
4403 (gst_pipeline_class_init):
4404 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4405 (gst_base_sink_class_init):
4406 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4407 (gst_base_src_class_init):
4408 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4409 (gst_base_transform_class_init):
4410 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4411 (gst_collect_pads_class_init):
4412 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4413 * libs/gst/net/gstnettimeprovider.c:
4414 (gst_net_time_provider_base_init),
4415 (gst_net_time_provider_class_init):
4416 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4417 (gst_capsfilter_class_init):
4418 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4419 (gst_fake_sink_class_init):
4420 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4421 (gst_fake_src_class_init):
4422 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4423 (gst_fd_sink_class_init):
4424 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4425 (gst_fd_src_class_init):
4426 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4427 (gst_file_sink_class_init):
4428 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4429 (gst_file_src_class_init):
4430 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4431 (gst_identity_class_init):
4432 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4433 (gst_multi_queue_class_init):
4434 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4435 (gst_queue_class_init):
4436 * plugins/elements/gsttee.c: (gst_tee_base_init),
4437 (gst_tee_class_init):
4438 * plugins/elements/gsttypefindelement.c:
4439 (gst_type_find_element_base_init),
4440 (gst_type_find_element_class_init):
4441 Don't use base_init where not absolutely necessary. For example it's
4442 not necessary anymore for adding pad templates or setting element
4445 Leave empty base_init functions in several places as GST_BOILERPLATE
4446 still defines and uses them.
4448 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4450 * gst/gstelement.c: (gst_element_base_class_init),
4451 (gst_element_class_add_pad_template):
4452 * gst/gstpadtemplate.c:
4453 Make it possible (and recommended) to set element details and add
4454 pad templates in the class_init functions by copying the details/pad
4455 templates in GstElement's base_init.
4457 Also make it possible to replace existing pad templates by adding
4458 a new one with the same name. This was done in a hackish fashion
4459 in same elements before already.
4461 Don't reference pad templates that are added a second time. A
4462 new pad template has a refcount of one and is not floating anymore
4463 and to be owned by the element's class. Make this more explicit by
4464 mentioning it in the docs of gst_element_class_add_pad_template().
4466 These changes are backwards compatible. Fixes bug #491501.
4468 * tests/check/gst/gstelement.c:
4469 Add unit test for setting element details, adding pad templates and
4470 replacing them in a subclass.
4472 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4474 * tools/gst-inspect.c: (print_interfaces),
4475 (print_element_properties_info), (print_pad_info),
4476 (print_signal_info), (print_element_info):
4477 Fix a few memory leaks.
4479 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4481 * docs/libs/gstreamer-libs-sections.txt:
4482 * libs/gst/check/gstcheck.c:
4483 * libs/gst/check/gstcheck.h:
4484 Add more functions for unit testing: gst_check_drop_buffers,
4485 gst_check_caps_equal, gst_check_element_push_buffer_list,
4486 gst_check_element_push_buffer
4487 API: gst_check_drop_buffers
4488 API: gst_check_caps_equal
4489 API: gst_check_element_push_buffer_list
4490 API: gst_check_element_push_buffer
4492 2008-02-01 Julien Moutte <julien@fluendo.com>
4494 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4495 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4496 (gst_index_finalize), (gst_index_entry_free),
4497 (gst_index_add_association): Fix memory leaks.
4498 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4499 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4500 (gst_mem_index_free_format), (gst_mem_index_free_id),
4501 (gst_mem_index_finalize): Fix memory leaks.
4502 * win32/common/config.h: Updated to CVS HEAD.
4504 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4507 Some more details about how the plugin docs works.
4509 * docs/plugins/gstreamer-plugins-sections.txt:
4512 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4514 * gst/parse/grammar.tab.pre.c:
4515 * gst/parse/grammar.tab.pre.h:
4516 * gst/parse/grammar.y:
4517 * gst/parse/lex._gst_parse_yy.pre.c:
4518 Add delayed set-property. This allows to set properties on dynamicaly
4519 created objects (pads in videomxer). Fixes #509391.
4521 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4524 Check if caps are not NULL (fix bug #510194)
4526 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4528 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4529 (gst_base_sink_get_position_paused):
4530 Add fixme regarding EOS in pull mode.
4531 Fix position reporting in PAUSED for negative rates.
4533 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4535 * gst/gstminiobject.c: (gst_mini_object_replace):
4536 When replacing a miniobject, do a quick equality check first so that we
4537 can avoid a ref/unref pair.
4539 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4541 * docs/design/part-synchronisation.txt:
4544 * docs/plugins/Makefile.am:
4545 * docs/plugins/gstreamer-plugins-docs.sgml:
4546 * docs/plugins/gstreamer-plugins-sections.txt:
4547 * plugins/elements/gstmultiqueue.c:
4548 Add multiqueue to the docs.
4550 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4555 === release 0.10.17 ===
4557 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4560 releasing 0.10.17, "Due Negligence"
4562 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4565 Revert caps != NULL check temporarily for 0.10.17 release.
4567 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
4570 Check if caps are not NULL (fix bug #510194)
4572 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4575 Fix compilation on systems that have posix timers but no
4578 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4581 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4583 * tools/gst-inspect.c:
4584 Revert previous commit in preparation for an impromptu 0.10.17 release
4586 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
4588 * tools/gst-inspect.c: (print_interfaces),
4589 (print_element_properties_info), (print_pad_info),
4590 (print_signal_info), (print_element_info):
4591 Fix a few memory leaks.
4593 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
4598 === release 0.10.16 ===
4600 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
4603 releasing 0.10.16, "Special Dispensation"
4605 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
4608 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4609 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4610 not fail when trying to crosscompile on OpenEmbedded (#511750).
4612 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
4615 Use $(MAKE) instead of make to fix the build if GNU make is
4616 called different. Fixes bug #510747.
4618 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
4620 * gst/gstplugin.c: (_gst_plugin_initialize):
4621 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4622 again, which I broke two commits ago when changing the API
4623 of gst_plugin_register_static(): the g_list_foreach() in
4624 _gst_plugin_register_static still assumed the old function
4625 signature and would therefore fail (re-fixes #510187).
4627 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4628 (_gst_plugin_register_static), (gst_plugin_register_static):
4629 Revert the (technically correct) change to call g_thread_init() from
4630 the pre-main() constructor. This will break programs which call
4631 g_thread_init() without an if (!g_thread_supported()) guard in their
4632 main function. We could just blame it on GLib or the application, but
4633 it's probably best to just avoid this altogether and simply not use
4634 any GLib functions here and use plain old malloc() with a simple
4635 array to store the plugins to register later when gst_init() is
4636 finally called (re-fixes #510187).
4638 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4639 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4640 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4641 (GST_START_TEST), (gst_plugin_suite):
4642 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4645 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4647 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4648 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4649 This makes gtk-doc complain, but results in slightly better
4650 compiler errors. The old _gst_plugin_register_static() is
4651 still guarded, so there'll be a compiler warning about that
4652 instead. Fixes #510187 too.
4654 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4656 * gst/gst.c: (init_post):
4657 * gst/gstplugin.c: (_gst_plugin_register_static),
4658 (gst_plugin_register_static), (_gst_plugin_initialize):
4659 * gst/gstplugin.h: (GstPluginFilter):
4660 Change API of gst_plugin_register_static() to not take
4661 a GstPluginDesc, but rather just take all the arguments
4662 in a GstPluginDesc directly. This is more intuitive and
4663 avoids certain mistakes when porting code from
4664 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4667 * tests/check/gst/gstplugin.c:
4668 Fix up for changed API.
4670 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
4672 * docs/faq/legal.xml:
4673 Update FAQ, Totem actually has an exception these days.
4675 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
4677 * win32/common/libgstreamer.def:
4678 Add new API declarations
4680 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4682 * gst/gstminiobject.c:
4683 Spelling fixes for the API docs.
4685 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4687 * libs/gst/base/gstbasetransform.c:
4688 Fix long property description for QoS.
4690 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
4693 _gst_trace_on is already provided by gsttrace.h, no need to declare
4696 * docs/libs/gstreamer-libs-sections.txt:
4697 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4698 and remove strange tcase_add_test which is outputting a warning.
4700 * libs/gst/check/gstcheck.c:
4701 * libs/gst/check/gstcheck.h:
4702 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4703 and define them in gstcheck.c instead of having every .c file whcih
4704 includes gstcheck.h be defining its own copy and relying on symbol
4705 interposing to marry them all, which doesn't work on Solaris.
4707 * tests/check/elements/identity.c: (GST_START_TEST):
4708 Don't define 'buffers' locally, it comes from libgstcheck.
4710 * tests/check/generic/sinks.c: (send_buffer):
4711 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4713 * tests/check/gst/gststructure.c: (GST_START_TEST):
4714 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4715 * tests/check/gst/gstutils.c: (GST_START_TEST):
4716 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4717 Add a bunch of casts to make various constants fit the types
4718 they're being assigned to.
4720 2008-01-10 Stefan Kost <ensonic@users.sf.net>
4722 * gst/gstchildproxy.c:
4723 Improve docs and add some ideas for making this more general-purpose.
4725 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
4727 * gst/gst_private.h: (GST_CAT_TYPES):
4728 Add GST_CAT_TYPES, for consistency, and so that the other
4729 debug categories don't make fun of it. Spotted by Saur on IRC.
4731 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4733 * gst/parse/Makefile.am:
4734 Move types.h from EXTRA_DIST to noinst_HEADERS.
4736 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4739 Add -Wno-portability to the automake parameters to stop warnings
4740 about GNU make extensions being used. We require GNU make in almost
4741 every Makefile anyway.
4744 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4745 at the same time is required for per target flags.
4747 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4750 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4751 __GNUC__ is defined before using it.
4753 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4755 * docs/gst/gstreamer-sections.txt:
4756 * gst/gst.c: (init_post):
4757 * gst/gstplugin.c: (_gst_plugin_register_static),
4758 (gst_plugin_register_static), (_gst_plugin_initialize),
4759 (gst_plugin_register_func):
4760 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4761 API: add gst_plugin_register_static() and deprecate
4762 GST_PLUGIN_DEFINE_STATIC, since it's not portable
4764 Also, in _gst_plugin_register_static(), make sure to call
4765 g_thread_init() before calling GLib functions such as
4766 g_list_append() if we're not initialised yet, since that
4767 may lead to random crashes with older GSlice/GLib versions.
4769 * tests/check/gst/gstplugin.c:
4770 Adapt unit test to above changes.
4772 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4774 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4775 * gst/gstcaps.c: (gst_caps_to_string):
4776 * gst/gststructure.c: (GST_ASCII_IS_STRING),
4777 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4778 Yet another gratuitous GString micro-optimisation: add a (private)
4779 function that serialises a structure appending to an existing
4780 GString, so that when we serialise caps we don't need to alloc+free
4781 a throwaway GString for each structure (each of which also entailing
4782 multiple reallocs on the way); also use g_string_sized_new() in
4783 various places with an approximate string length to avoid reallocs
4784 within GString. See #500143.
4786 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4788 * gst/gststructure.c: (gst_structure_id_set_value):
4789 Always check UTF-8 conformance of structure strings and not only
4790 if the debugging system is enabled; reasoning: the behaviour of
4791 the actual code shouldn't really change depending on whether the
4792 debugging system is enabled or not (#508291).
4794 2008-01-09 Stefan Kost <ensonic@users.sf.net>
4797 Remove old coverage target in favour of "make lcov".
4799 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4801 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4802 (gst_base_src_loop):
4803 The start segment for reverse playback goes from start to last_stop.
4805 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4807 Patch by: Peter Kjellerstedt <pkj axis com>
4810 Cast the results from the timeval/spec_to_time macros to what the
4811 docs say it casts to, a GstClockTime. fixes #508175.
4813 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4816 Update some comments.
4818 * tools/gst-inspect.c: (print_element_properties_info):
4819 Improve printing of flags.
4821 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
4823 * libs/gst/base/gstbasetransform.c:
4824 (gst_base_transform_transform_size):
4825 Print element name with g_warning() if there's a problem
4828 2008-01-07 David Schleef <ds@schleef.org>
4830 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
4832 * libs/gst/controller/gstcontroller.h:
4833 * libs/gst/controller/gstcontrolsource.h:
4834 * libs/gst/controller/gstinterpolationcontrolsource.h:
4835 * libs/gst/controller/gstlfocontrolsource.h:
4836 * libs/gst/dataprotocol/dataprotocol.h:
4837 Fix empty prototypes. Fixes bug #507957.
4839 2008-01-07 David Schleef <ds@schleef.org>
4841 * docs/faq/dependencies.xml: Fix typo.
4843 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
4845 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
4846 (gst_base_src_loop):
4847 Don't update the last_stop position in do_seek, that's the position we
4849 Read backwards when we have a negative rate.
4851 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
4852 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
4854 Add check for reverse reading.
4856 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
4858 Patch by: Alexis Ballier <aballier at gentoo org>
4860 * tests/check/gst/gstabi.c:
4861 * tests/check/gst/struct_ppc64.h:
4862 * tests/check/libs/libsabi.c:
4863 * tests/check/libs/struct_ppc64.h:
4864 Decide which header to include based on the userland ABI target
4865 and not the kernel/cpu. Fix up structure sizes of ppc64 header
4866 for 64-bit userland (#503590). Might need something similar for
4869 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
4871 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
4872 Log the reason why fopen fails in addition to the fact that it failed.
4874 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
4876 * gst/parse/parse.l:
4877 Use "%option never-interactive" to prevent useless calls to isatty()
4878 on every input when parsing. Also use "%option noinput" to not define
4879 the static input/yyinput functions which we don't use anyway. This
4880 removes a compiler warning with gcc 4.3 and saves some bytes in the
4883 * gst/parse/lex._gst_parse_yy.pre.c:
4884 Regenerated for the above change.
4886 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
4888 * gst/gstpad.c: (fixate_value):
4889 Don't crash when trying to fixate and empty list.
4892 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
4894 * docs/faq/gst-uninstalled:
4895 Clarify the comments to make the usage of this script and what it
4896 does easier to understand.
4898 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
4900 * tools/gst-plot-timeline.py:
4901 Add more options to gst-plot-timeline
4903 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
4905 * docs/design/part-synchronisation.txt:
4906 Some more info on how the stream_time in GstBaseSink is done.
4908 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
4910 * tests/check/generic/sinks.c: (gst_sinks_suite):
4911 Put back the tcase_set_timeout(), apparently it's needed after
4912 all; fix it up in a way that makes things work with valgrind too.
4914 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
4916 * gst/gstdebugutils.c:
4917 Add warning when failed to open file for writing.
4919 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
4921 Based on patch by: Laurent Glayal <spglegle yahoo fr>
4923 * gst/gstvalue.c: (gst_value_is_fixed):
4924 Optimisation: bail out of the loop as early as possible (#500143).
4926 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
4928 * gst/gstcaps.c: (gst_caps_to_string):
4929 * gst/gstinfo.c: (gst_debug_construct_term_color):
4930 * gst/gstparse.c: (gst_parse_launchv):
4931 * gst/gstutils.c: (gst_util_dump_mem):
4932 * gst/gstvalue.c: (gst_value_serialize_any_list),
4933 (gst_value_transform_any_list_string):
4934 Bunch of gratuitous nano-optimisations.
4936 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
4938 * tests/check/generic/sinks.c: (async_done_func),
4939 (async_done_eos_func):
4940 Fix leak in unit test (bus sync handler must unref the message
4941 if it returns GST_BUS_DROP). Don't fiddle with the default test
4942 timeout, this is smaller than the current preconfigured value
4943 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
4944 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
4946 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
4948 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4951 Check for stdio_ext.h for the filesink changes.
4953 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
4954 (gst_file_sink_class_init), (gst_file_sink_init),
4955 (gst_file_sink_dispose), (gst_file_sink_set_property),
4956 (gst_file_sink_get_property), (gst_file_sink_open_file),
4957 (gst_file_sink_close_file):
4958 * plugins/elements/gstfilesink.h:
4959 Add two properties to control the buffering mode and size.
4960 API: GstFileSink::buffer-mode
4961 API: GstFileSink::buffer-size
4964 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
4966 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
4967 Add some more docs to explain why a FIXME was wrongly added.
4969 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
4972 Fix typo in the gst_object_{ref,unref} documentation.
4974 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
4976 * tests/check/libs/controller.c:
4977 * tests/check/libs/typefindhelper.c:
4978 * tests/check/pipelines/parse-launch.c:
4979 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
4980 going to be deprecated (see #498924).
4982 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
4984 * gst/gsttypefind.c: (gst_type_find_register):
4985 Make gst_type_find_register work for static typefind functions,
4986 ie. allow passing plugin == NULL (prerequisite for #498924).
4988 * gst/gstelementfactory.c: (gst_element_register):
4989 Small docs addition.
4991 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
4993 * gst/gstpad.c: (gst_pad_dispose):
4994 Really unlink the peer pad instead of setting the peer pointer to NULL
4995 when we dispose the pad.
4996 This correctly calls the unlink functions and makes sure that the peer
4997 does not have a handle to invalid memory. See #504671.
4999 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5000 Add testsuite for above case.
5002 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5004 Patch by: Peter Kjellerstedt <pkj axis com>
5006 * libs/gst/check/gstcheck.h:
5007 Fix detection of the check version we're compiling against (would
5008 otherwise break if check goes v0.10.0); correctly report the
5009 name of the failed test again in case of failure, instead of
5010 just 'tf' (fixes #504499).
5012 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5014 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5015 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5016 (gst_base_src_loop), (gst_base_src_set_flushing),
5017 (gst_base_src_change_state):
5018 Allow sending EOS to the source to make it send out an EOS event from
5019 the streaming thread.
5020 Update docs and deprecate the old NULL/READY shutdown method.
5022 * tests/check/libs/basesrc.c: (GST_START_TEST),
5023 (gst_basesrc_suite):
5024 Add unit test for controlled shutdown.
5026 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5028 * docs/design/part-synchronisation.txt:
5031 * gst/gstsegment.c: (gst_segment_set_seek),
5032 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5033 (gst_segment_to_running_time):
5034 The seek format can be different from the segment format when the start
5035 and stop values are not to be updated, when we only do a rate change for
5038 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5039 (gst_segment_suite):
5040 Add a testcase for the rate-only seeks, checking that the format is
5041 correctly ignored when start and stop are not updated.
5043 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5045 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5047 * win32/vs8/grammar.vcproj:
5048 * win32/vs8/libgstcontroller.vcproj:
5049 * win32/vs8/libgstreamer.vcproj:
5050 Fix compilation with VS8 and include some missing files.
5052 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5055 Small docs addition: mention that the strings returned by
5056 gst_tag_list_get_string*() are in UTF-8 encoding.
5058 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5061 The check-exports stuff moved to common/win32.mak, so include that.
5063 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5065 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5066 (gst_base_src_perform_seek), (gst_base_src_get_range),
5067 (gst_base_src_set_playing), (gst_base_src_change_state):
5068 Make _wait_playing() not check any variables so that we can call this
5069 function from subclasses. Move the checks elsewhere similar to
5070 _wait_preroll() in basesink.
5072 Only signal the LIVE cond when we are going back to PLAYING.
5074 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5076 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5077 Use g_remove() and g_rename(). Check result of g_rename(), and
5078 don't leak the open file descriptor if we error out when writing.
5080 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5081 Must check the return value of close() after writing out the new
5082 registry file. Sometimes write problems such as out-of-diskspace
5083 are only reported when the file is closed and not already during
5084 the write. This may have caused partial/broken registry files in
5085 some rare circumstances. Should fix #503675.
5087 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5089 * docs/gst/.cvsignore:
5090 * docs/libs/.cvsignore:
5091 * docs/plugins/.cvsignore:
5092 Ignore files generated by new common/* modifications
5094 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5096 * win32/common/libgstbase.def:
5097 Yes, you can also have a <TAB> if you want.
5099 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5101 * win32/common/libgstbase.def:
5102 Add new basetransform API to win export file.
5104 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5106 * tests/check/gst/gstbin.c:
5107 Adjust the test to the refcount change two days ago.
5109 2007-12-14 David Schleef <ds@schleef.org>
5111 * docs/faq/getting.xml: Fix typo.
5113 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5115 * docs/libs/gstreamer-libs-sections.txt:
5116 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5117 (gst_base_transform_prepare_output_buffer),
5118 (gst_base_transform_set_gap_aware):
5119 * libs/gst/base/gstbasetransform.h:
5120 API: Add gst_base_transform_set_gap_aware() to control whether
5121 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5122 get buffers with this flag at all. Fixes #503231.
5124 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5126 * libs/gst/base/gstbasesink.c:
5127 * libs/gst/base/gstbasesrc.c:
5128 * libs/gst/base/gstbasetransform.c:
5129 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5130 thread. Correct log message in gstbasesrc.c.
5132 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5134 * gst/gstutils.c: (element_find_unconnected_pad):
5135 Fix possible compiler warning (#503417).
5137 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5139 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5140 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5142 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5144 * tools/gst-inspect.c: (print_element_properties_info):
5145 Add support for GstFraction properties.
5147 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5150 Add check-exports target and run it as part of 'make check'
5151 (see #499140 and #493983).
5153 * gst/gst_private.h:
5154 * gst/gstelementfactory.h:
5155 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5156 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5157 (_priv_gst_in_valgrind):
5158 * gst/gstinfo.h: (GstLogFunction):
5159 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5160 (gst_type_find_register):
5161 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5162 (gst_type_find_factory_get_type):
5163 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5164 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5165 (gst_controller_new_valist), (gst_controller_new_list),
5166 (_gst_controller_dispose), (_gst_controller_class_init):
5167 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5168 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5169 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5170 (gst_object_get_controller), (gst_object_set_controller),
5171 (gst_object_suggest_next_sync), (gst_object_sync_values),
5172 (gst_object_set_control_source), (gst_object_get_control_source),
5173 (gst_object_get_value_arrays), (gst_object_get_value_array),
5174 (gst_object_get_control_rate), (gst_object_set_control_rate):
5175 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5176 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5177 Make some functions that should be static static; rename some
5178 private symbols so that they don't get exported; add some FIXME
5179 comments so we can move accidentally exported functions into
5180 our private section in 0.11.
5182 * win32/common/libgstreamer.def:
5183 Add gst_utils_get_timestamp().
5185 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5189 Add more missing "Since:" tags to docs.
5191 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5194 Add mising "Since:" to docs.
5196 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5199 Include "glib-compat-private.h" to fix the build on system with
5200 glib < 2.10. Fixes #503131.
5202 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5206 Actually its not PURE as it gets the time from elsewhere.
5208 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5210 * docs/gst/gstreamer-sections.txt:
5212 * gst/gstdebugutils.c:
5216 * libs/gst/base/gstbasesink.c:
5217 * tools/gst-launch.c:
5218 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5219 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5220 Thanks Tim for spotting.
5221 API: gst_util_get_timestamp
5223 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5226 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5228 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5230 * gst/gststructure.c: (gst_structure_validate_name),
5231 (gst_structure_new_valist), (gst_structure_parse_value),
5232 (gst_structure_from_string):
5233 Don't crash in _from_string() if the structure name is not valid
5234 (fixes #501560). Allow structure names to start with a number
5235 again (this apparently broke the ubuntu codec installer).
5237 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5239 Add unit test for the crash; update unit tests for new behaviour.
5241 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5244 Clarify gst_element_get_compatible_pad() documentation.
5247 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5249 * tests/check/Makefile.am:
5250 Don't forget to dist {gst,libs}/struct_hppa.h.
5252 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5254 * libs/gst/base/gstbasesink.c:
5255 Use new API to get elapsed time.
5257 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5259 * gst/gstdebugutils.c:
5261 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5263 * tools/gst-launch.c:
5264 Use new API to get elapsed time.
5266 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5268 * docs/gst/gstreamer-sections.txt:
5270 * gst/gstdebugutils.c:
5272 Rename new API + ChangeLog surgery to remove old name from last entry..
5274 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5276 * docs/gst/gstreamer-sections.txt:
5278 * gst/gstdebugutils.c:
5280 Now hide the different clock stuff behind a macro.
5282 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5285 * gst/gstdebugutils.c:
5287 Apply the posix-timer check from #361155. Conditionally use the posix
5288 timer for logging. This gives better timestamp precission, less
5289 overhead and no ntp jitter.
5291 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5293 * gst/gstminiobject.c: (gst_mini_object_get_type),
5294 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5295 (gst_mini_object_finalize), (gst_mini_object_copy),
5296 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5297 (gst_mini_object_replace), (param_mini_object_validate),
5298 (gst_param_spec_mini_object_get_type):
5299 Some cleanup and checking against invalid function parameters.
5301 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5303 * docs/gst/gstreamer-sections.txt:
5305 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5306 (gst_systemclock_suite):
5307 Start merging in the easy bits of #361155, the monotonic clock patch.
5308 This one adds a few handy macros with docs and a testsuite.
5310 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5312 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5313 Be a bit smarter when seeking, like, don't try to do a seek when it's
5314 not needed. This avoids errors when the file is not seekable.
5317 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5319 * docs/gst/gstreamer-docs.sgml:
5320 * docs/gst/gstreamer-sections.txt:
5321 * docs/gst/gstreamer.types.in:
5326 * plugins/elements/gstqueue.c:
5327 Due to popular request remove preset interface again. :-(.
5329 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5331 * tools/gst-inspect.c:
5332 Print 'default value' for enums and flags too.
5334 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5336 * docs/random/ensonic/profiling.txt:
5340 Fix typo and give better log output.
5342 * gst/gstdebugutils.c:
5343 * gst/gstdebugutils.h:
5344 More ideas, make graphs a bit smaller and fix param name in macro.
5346 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5349 Try harder to use the return value from fgets().
5351 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5354 For theses two fgets we handle the error below.
5356 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5358 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5359 Only send upstream events upstream. Fixes #498746.
5361 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5363 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5365 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5366 (gst_identity_init), (gst_identity_transform_ip),
5367 (gst_identity_set_property), (gst_identity_get_property):
5368 * plugins/elements/gstidentity.h:
5369 Add property to disable handoff signal emission. Fixes #498694.
5370 API: GstIdentity::signal-handoffs
5372 2007-11-21 Julien Moutte <julien@fluendo.com>
5374 * docs/faq/gst-uninstalled: Yet another missing library for the
5375 uninstalled script (fft)
5377 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5379 * docs/faq/developing.xml:
5380 Add a question about how to submit new translations.
5382 * docs/random/release:
5383 Update the contact email address for the Translation Project
5385 * plugins/elements/gstfdsrc.c:
5386 The parent_class for fdsrc is pushsrc, not GstElement.
5388 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5391 Plug a leak and fix saving.
5393 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5395 * docs/gst/gstreamer-sections.txt:
5396 Add new gst_preset__get_property_names() function to the docs
5399 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5403 Change _get_preset_names API to return a strv with copies. Add
5404 _get_property_names to allow implementations to filter and provide
5405 good default implementation.
5407 2007-11-20 Julien MOUTTE <julien@moutte.net>
5409 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5412 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5415 More cleanups, docs, and TODOs from comments that now slowly come in.
5417 2007-11-19 Julien MOUTTE <julien@moutte.net>
5419 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5422 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5425 Fix bogus warning and make the property type specific code more
5428 2007-11-19 Julien MOUTTE <julien@moutte.net>
5430 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5433 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5435 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5436 (gst_bin_add_func), (gst_bin_remove_func),
5437 (gst_bin_change_state_func), (gst_bin_continue_func):
5438 Change email, cleanups add some more debug and comments.
5439 Also set bus and clock on new elements when the pipeline was in error.
5441 2007-11-18 Stefan Kost <ensonic@users.sf.net>
5444 * gst/gstdebugutils.c:
5445 Fix build with --disable-gst-debug. Fixes #497859.
5446 Spotted by Sameer Naik.
5448 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5451 Little documentation improvment.
5454 More TODO cleanups. Remove c++ comments.
5456 * libs/gst/controller/gstcontroller.c:
5457 Add TODO and use quark from static string.
5459 * tests/check/gst/gstmessage.c:
5460 * tests/check/gst/gststructure.c:
5461 Use quark from static string.
5463 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5466 Add some comments and TODOs.
5469 Add padding for future changes.
5471 * plugins/elements/gstqueue.c:
5472 Implement the iface.
5474 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5476 * docs/gst/gstreamer-docs.sgml:
5477 * docs/gst/gstreamer-sections.txt:
5478 * docs/gst/gstreamer.types.in:
5483 Add the preset interface (Fixes #396779). Do some doc cleanups along.
5485 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
5491 === release 0.10.15 ===
5493 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
5496 releasing 0.10.15, "October"
5498 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
5500 * win32/vs6/libgstreamer.dsp:
5501 Convert line endings back to DOS.
5503 2007-11-13 Stefan Kost <ensonic@users.sf.net>
5505 * docs/design/draft-tagreading.txt:
5506 * docs/random/ensonic/profiling.txt:
5507 Update fast tagreading draft and performance profiling ideas.
5509 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5511 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5512 Don't hold the object lock when unreffing a buffer because it could
5513 cause a deadlock when the finalize function wants to grab the object
5514 lock too. Fixes #495133.
5516 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5518 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5519 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5520 Also accumulate time correctly when doing reverse playback. Fixes
5522 When converting to running and stream time, use default values for
5523 start/stop/time/accum when comparing different formats. Fixes #494245.
5525 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5526 Do running/stream time in TIME format.
5528 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5529 (gst_segment_suite):
5530 2 new unit tests for segment accumulation.
5532 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
5534 * gst/gst.c: (init_pre):
5535 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5536 (_gst_debug_bin_to_dot_file):
5537 Move getenv() back into gst_init, so everyone can live happily
5538 ever after. Make sure the symbol isn't exported though.
5540 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5542 Patch by: Sebastien Moutte <sebastien moutte net>
5544 * win32/common/gstenumtypes.c:
5545 * win32/common/gstenumtypes.h:
5548 * win32/vs6/libgstreamer.dsp:
5549 Update vs6 project files (#494343).
5551 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5553 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5554 (gst_base_src_perform_seek), (gst_base_src_default_event),
5555 (gst_base_src_set_flushing), (gst_base_src_activate_push),
5556 (gst_base_src_activate_pull):
5557 Unify flushing code, remove some old unlock code that is no longer used.
5558 Take the streaming lock when seeking to avoid races. Fixes #492729.
5559 Added some more comments.
5561 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5563 * gst/gst.c: (_gst_disable_segtrap):
5564 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
5565 we can use gst_segtrap_is_enabled() there now that we have that API.
5566 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5567 to do the getenv here (and export the variable).
5569 * gst/gstdebugutils.c: (debug_dump_element),
5570 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5571 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5573 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5574 (gst_debug_log_default):
5575 Rename _gst_info_start_time to priv_gst_info_start_time so it
5576 doesn't get exported (was never in any header).
5578 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5579 (gst_plugin_loading_mutex):
5580 Make static mutex gst_plugin_loading_mutex really static (was never
5581 in any header), and use gst_segtrap_is_enabled() instead of
5582 _gst_disable_segtrap.
5584 * gst/gsttrace.c: (_gst_trace_default):
5585 Make local _gst_trace_default static (was never in any header).
5587 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5589 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5591 * win32/common/libgstbase.def:
5592 * win32/common/libgstcontroller.def:
5593 * win32/common/libgstdataprotocol.def:
5594 * win32/common/libgstnet.def:
5595 * win32/common/libgstreamer.def:
5596 Add more missing symbols, remove some duplicates, and sort
5597 as the 'sort' command sorts it (partially fixes #493983).
5599 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5601 * gst/gstelement.c: (gst_element_set_state_func):
5602 Only change the state cookie if a different state was set on the
5603 element. See #492729.
5605 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5608 Remove unused and uninitialised type variables that were still
5609 exported for some reason (they were never in any header files
5612 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5614 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5615 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5616 (gst_base_sink_event), (gst_base_sink_get_position_last),
5617 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5618 (gst_base_sink_change_state):
5619 Don't try to report a 0 position when we don't know, return -1 and FALSE
5620 instead. This mostly happens when we are prerolling.
5621 Make sure we can report the right position before we post the ASYNC_DONE
5622 message so that a message handler can query position without races.
5624 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5625 (async_done_handoff), (async_done_func), (send_buffer),
5626 (async_done_eos_func), (gst_sinks_suite):
5627 Add two tests for the above.
5629 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5632 Update with new email address.
5634 * docs/design/part-TODO.txt:
5635 Add some more info about future pad-block and negotiation changes.
5637 * docs/design/part-buffering.txt:
5638 Add some ideas about buffering reporting.
5640 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
5642 * tests/check/gst/gstobject.c:
5643 Disable silly racy test that always fails on this combination of CPU
5646 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
5648 Patch by: Murray Cumming <murrayc@murrayc.com>
5651 Corrected the registration of the parent-set and parent-unset
5652 signals: The parameter is a GstObject, not a GObject (#493134).
5654 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5656 * gst/gst_private.h:
5665 Move declaration of private _gst_foo_initialize() functions into
5666 our private header file where they should have been all along.
5668 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5670 * docs/plugins/gstreamer-plugins-sections.txt:
5671 * gst/gstdebugutils.h:
5673 * plugins/elements/gstqueue.c:
5674 gtk-doc fixes; trailing-comma-in-enum fix.
5676 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5678 * gst/gst.c: (gst_deinit):
5679 Clean up on deinit (not the external ones though, doesn't seem to be
5680 needed for some reason).
5682 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5684 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5685 Remove __declspec(dllimport) for MSVC that was copied over into core
5686 from a plugin, obviously without ever having been tested (note the
5687 single underscore in _declspec in the initial commit), and that doesn't
5688 really make sense. See #492077.
5690 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5692 * gst/gst.c: (init_post):
5693 * gst/gstevent.c: (_gst_event_initialize):
5694 * gst/gstquery.c: (_gst_query_initialize):
5695 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5696 g_type_class_ref() other types as well, see #349410 and #64764.
5698 * gst/gstbuffer.c: (_gst_buffer_initialize):
5699 * gst/gstmessage.c: (_gst_message_initialize):
5700 Simplify existing g_type_class_ref().
5702 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5704 * gst/gstformat.c: (_gst_format_initialize):
5705 g_type_class_ref() our GstFormat type to make sure we avoid the
5706 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5707 bug #64764. Should fix intermittent tee unit test failures (#474823).
5709 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5711 * tests/check/elements/tee.c: (test_num_buffers):
5712 Simplify, simplify, simplify - or not. Rewrite unit test
5713 not to use gst_parse_launch(); allow N sub-streams. Increasing
5714 the number of sub-streams seems to reproduce #474823 more easily.
5716 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5718 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5721 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5722 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5723 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5724 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5725 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5726 so use _pipe() directly (#492077).
5728 * win32/common/dirent.c: (_treaddir):
5729 Add a couple of casts to make it build without warnings with MSVC.
5731 * win32/common/libgstreamer.def:
5732 Add some more symbols that need to be exported.
5734 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5736 * tests/examples/metadata/read-metadata.c: (message_loop):
5737 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5738 arriving in a second or third tag message are added to
5739 the tag list as well.
5741 2007-10-31 Stefan Kost <ensonic@users.sf.net>
5743 * libs/gst/base/gstbasesrc.c:
5744 Its "Since:" and not "@Since:". And remove an superflous cast.
5746 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
5748 * docs/libs/gstreamer-libs-sections.txt:
5749 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5750 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5751 (gst_base_sink_get_property), (gst_base_sink_render_object),
5752 (gst_base_sink_preroll_object),
5753 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5754 (gst_base_sink_change_state):
5755 * libs/gst/base/gstbasesink.h:
5756 Add a new last-buffer property that contains the last buffer used in
5757 basesink for preroll or rendering. useful for making snapshots.
5758 API: gst_base_sink_get_last_buffer()
5759 API: GstBaseSink::last-buffer
5761 2007-10-29 Stefan Kost <ensonic@users.sf.net>
5763 * docs/gst/running.xml:
5765 * gst/gstdebugutils.c:
5766 * gst/gstdebugutils.h:
5767 * tools/gst-launch.c:
5768 Improve bin graph dumping, by using the envvar to specify a path.
5769 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5771 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
5773 * plugins/elements/gsttypefindelement.c:
5774 (gst_type_find_element_handle_event),
5775 (gst_type_find_element_activate):
5776 Post special error message if we can't determine the type of a stream
5779 2007-10-29 Stefan Kost <ensonic@users.sf.net>
5781 * docs/gst/running.xml:
5782 * gst/gstdebugutils.c:
5783 Document new env-var. Add one log-line after dumpng a graph.
5785 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
5788 Ugly hack to put the (recently removed and non-portable, apparently)
5789 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
5790 GNU ld, because without that 'make check' fails miserably on my debian
5791 stable box. Someone with more knowledge of linker intricacies and
5792 portability issues than me fix this properly please.
5794 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
5796 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
5797 Reset last seen position after flushing so that we don't report the old
5800 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5802 * gst/gstelementfactory.c: (gst_element_register):
5804 Patch from Alessandro Decina adding get_type_full and
5805 get_protocols_full private vfuncs to the URIHandler interface
5806 to allow bindings to support creating URI handlers.
5807 Partially fixes: #339279
5808 API: GstURIHandlerInterface::get_type_full
5809 API: GstURIHandlerInterface::get_protocols_full
5811 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5813 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5814 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5815 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5816 Make it so that pads are considered linked until a buffer is pushed
5817 and discovered otherwise. This avoids problems with decodebin2 hanging
5818 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5821 Make sure we lock the multiqueue when updating the max-size properties.
5823 Fix a crash on Solaris in a debug statement in get_request_pad that
5824 passes a NULL string to GST_DEBUG.
5826 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5827 (run_output_order_test):
5828 Fix the test to allow the first buffer on not-linked pads to come out
5829 of sequence while multiqueue discovers that they are not-linked.
5831 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5834 * libs/gst/check/Makefile.am:
5835 Use a custom export symbol regex for libgstcheck, as it needs
5836 to export symbols that don't match the standard GStreamer gst_*
5837 pattern, and --export-dynamic is not portable (only works on
5840 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5841 (gst_check_setup_sink_pad):
5842 Make sure to pass a message parameter to the fail_* macros.
5844 * tests/check/gst/gstinfo.c: (GST_START_TEST):
5845 Fix some compiler warnings.
5847 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
5849 * tests/check/gst/gststructure.c: (test_to_string):
5850 Disable test that checks that white spaces are not allowed
5851 in structure names or field names, since we need to
5852 support that for now for backwards compatibility reasons.
5854 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
5856 * docs/gst/gstreamer-sections.txt:
5859 API: add GST_TAG_ARTIST_SORTNAME
5860 API: add GST_TAG_ALBUM_SORTNAME
5861 API: add GST_TAG_TITLE_SORTNAME
5862 Add tag variants for sorting (#414539).
5864 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
5866 * gst/gststructure.c:
5867 Also allow white space for names so we don't break
5868 backwards compatibility.
5870 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
5872 * docs/design/part-TODO.txt:
5873 * docs/design/part-segments.txt:
5874 * docs/design/part-streams.txt:
5877 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
5879 * docs/gst/gstreamer-sections.txt:
5880 Fixed documentation from my previous commit (added new API add
5881 gst_value_set_structure(), add gst_value_get_structure() and
5882 GST_VALUE_HOLDS_STRUCTURE).
5884 2007-10-22 Stefan Kost <ensonic@users.sf.net>
5886 * gst/gstdebugutils.c:
5887 Reflow code to fix uninitialized variable warning.
5889 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
5891 * gst/gstcaps.c: (gst_caps_to_string),
5892 (gst_caps_from_string_inplace):
5893 * gst/gststructure.c: (gst_structure_get_abbrs),
5894 (gst_structure_to_string), (gst_structure_from_string):
5895 * gst/gstvalue.c: (gst_value_set_structure),
5896 (gst_value_get_structure), (gst_value_serialize_structure),
5897 (gst_value_deserialize_structure), (_gst_value_initialize):
5899 * tests/check/gst/gststructure.c: (GST_START_TEST),
5900 (gst_structure_suite):
5901 * tests/check/gst/gstvalue.c: (GST_START_TEST):
5902 Added GstStructure to gst_value_table and its related functions.
5903 Changed gst_structure_to_string to print ';' in the end.
5904 Changed gst_caps_to_string to not print ';' beteween its
5905 fields (structures) anymore and remove the lastes ';' from latest
5906 structure. Now it is possible to have nested structures.
5907 In addition, backward compatibilty is assured by accepting '\0' as
5908 end delimiter. Fixes: #487969.
5909 API: add gst_value_set_structure()
5910 API: add gst_value_get_structure()
5911 API: add GST_VALUE_HOLDS_STRUCTURE
5913 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
5916 When no GSource callback has been set up, tell developer
5917 to use a function that actually exists.
5919 2007-10-17 Stefan Kost <ensonic@users.sf.net>
5921 * docs/gst/gstreamer-sections.txt:
5925 * gst/gstdebugutils.c:
5926 * gst/gstdebugutils.h:
5929 * tools/gst-launch.c:
5930 Allow dumping pipelines as dot graphs. Fixes #456573.
5932 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
5934 * gst/gststructure.c:
5935 Allow '+' as well, it can be part of media or mime types
5936 such as image/svg+xml.
5938 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
5940 * docs/gst/gstreamer-sections.txt:
5943 API: add gst_bus_pop_filtered
5944 API: add gst_bus_timed_pop_filtered
5945 Two new functions for waiting for specific message types on the
5946 bus for a specified amount of time without iterating any main
5947 loops or main contexts.
5949 * tests/check/gst/gstbus.c:
5950 Some tests for the new functions.
5952 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
5954 * docs/libs/gstreamer-libs-sections.txt:
5955 Make gtk-doc ignore stuff it should ignore.
5957 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
5959 * libs/gst/check/gstcheck.c:
5960 * libs/gst/check/gstcheck.h:
5961 Allow runtime selection of unit tests to run via the GST_CHECKS
5962 environment variable (test case function names, comma-separated).
5964 2007-10-16 Stefan Kost <ensonic@users.sf.net>
5966 * gst/gststructure.c:
5967 * tests/check/gst/gststructure.c:
5968 Revert serialisation change and constrain structure-names after
5969 consensus on irc. Update api documentation to reflect the change.
5971 2007-10-16 Stefan Kost <ensonic@users.sf.net>
5973 * gst/gststructure.c:
5974 Improve serialization and fix tests.
5976 * tests/check/gst/gststructure.c:
5977 Add another test that covers why I actually did the previous structure
5980 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
5982 * tools/gst-inspect.c: (print_element_info):
5983 Don't crash when inspecting an element.
5985 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
5987 * tests/check/gst/gststructure.c:
5988 Add unit test for escaping of structure name when serialising
5989 and deserialising to/from strings.
5991 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
5993 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
5994 (gst_single_queue_new):
5995 * plugins/elements/gstqueue.c: (gst_queue_init),
5996 (gst_queue_push_one):
5997 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
5998 upstream is tricked into thinking it can suggest a format downstream
5999 while downstream does not support that format. The real problem is that
6000 core calls acceptcaps when pushing a buffer with new caps, for which we
6001 do a little workaround by setting the caps on the srcpad ourselves
6002 before pushing the buffer (until this is figured out). Fixes #486758.
6004 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6006 * gst/gststructure.c:
6008 Add some more comments and debug output. Quote structure name to fix
6009 deserialisation of some strings.
6011 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6014 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6015 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6017 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6019 * tools/gst-inspect.c:
6020 Save approx. 400 1 byte allocs when printing. Use API to acces element
6026 * tools/gst-xmlinspect.c:
6027 Use API to acces element details.
6029 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6032 Fix some spelling errors.
6034 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6036 * gst/gstbin.c: (bin_handle_async_done):
6037 Correctly set the next state if all of our async children commited their
6038 state. This makes sure we can actually cancel the state change in
6039 progress. Fixes a regression in Rhythmbox when seeking.
6041 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6044 Don't shadow local variable.
6047 Don't shadow global function name.
6049 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6051 * gst/gstelementfactory.c:
6052 * gst/gstpluginfeature.c:
6053 * gst/gstpluginfeature.h:
6054 * gst/gstregistrybinary.c:
6055 * gst/gstregistryxml.c:
6056 * gst/gsttypefind.c:
6057 Use already-interned string for the private GstPluginFeature
6060 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6062 * docs/libs/gstreamer-libs-sections.txt:
6063 Add new API to docs; fixes the build.
6065 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6067 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6069 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6070 (gst_base_sink_event):
6071 * libs/gst/base/gstbasesink.h:
6072 Add function to wait for EOS, subclasses can use this to correctly wait
6073 for devices to drain before performing the EOS logic. Fixes #485343.
6074 API: gst_base_sink_wait_eos()
6076 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6079 Cast description string constants in GST_PLUGIN_DEFINE macros
6080 to a (gchar*) to make C++ code using these macros compile
6081 without warning with g++-4.2 (see #462737). Even if slightly
6082 ugly, this seems preferable to putting the description strings
6083 into the GLib quark table or making the structure member a
6084 const gchar * and doing casts in core code that allocs and
6085 frees these strings, or requiring a cast in the C++ code.
6087 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6090 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6091 to print the entire class/function signature into the log
6092 file for C++ code. This only affects C++ code, for C code
6093 everything remains the same.
6095 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6097 * gst/gstbin.c: (remove_from_queue):
6098 Work around a problem with pipelines containing (semi)loops until a
6099 proper, more complicated solution is ready. See #475455.
6101 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6105 * gst/gstregistrybinary.c:
6106 * gst/gstregistryxml.c:
6107 Put more strings into the GLib quark table. No need to keep
6108 a hundred-something copies of identical version strings,
6109 license strings, package name strings and package origin
6112 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6114 * docs/manual/advanced-dataaccess.xml:
6115 Don't imply that it's okay to unconditionally change
6116 buffer data or buffer metadata in a pad probe callback,
6117 and a bunch of other comments. Fixes #430031.
6119 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6121 * win32/common/gstenumtypes.c:
6122 * win32/common/gstenumtypes.h:
6123 * win32/common/gstversion.h:
6124 Update generated files.
6126 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6128 * docs/manual/advanced-autoplugging.xml:
6129 Prefix section with broken code with a warning (see #342432).
6131 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6133 * docs/manual/appendix-integration.xml:
6134 * docs/manual/basics-init.xml:
6135 Call g_thread_init() before g_option_context_new() to
6136 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6138 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6140 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6141 (gst_base_sink_queue_object_unlocked),
6142 (gst_base_sink_queue_object), (gst_base_sink_event),
6143 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6144 When we received EOS and are waiting for when to post the EOS message,
6145 our state is prerolled and we should not return ASYNC.
6146 Reorganize some code paths to implement this behavior.
6148 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6150 Add unit test to verify above EOS fix.
6152 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6154 * plugins/elements/gsttypefindelement.c:
6155 (gst_type_find_element_have_type), (gst_type_find_element_init),
6156 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6157 Move detecting the input caps of the sinkpad to the setcaps function.
6158 This allows us to update the output caps when we receive new input caps
6159 instead of always using the first detected caps.
6161 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6163 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6164 (gst_base_sink_get_position):
6165 Don't try to preroll non-async elements after a flush.
6166 Subtract latency form clock times when reporting position.
6168 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6170 * gst/gstpad.c: (gst_pad_pause_task):
6172 Small comment and documentation update.
6174 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6176 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6177 (gst_base_src_set_live), (gst_base_src_is_live),
6178 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6179 (gst_base_src_default_event), (gst_base_src_wait),
6180 (gst_base_src_do_sync), (gst_base_src_get_range),
6181 (gst_base_src_pad_get_range), (gst_base_src_loop),
6182 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6183 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6184 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6185 (gst_base_src_change_state):
6186 Rework the locking of basesrc in a similar fashion to basesink. We
6187 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6188 us to handle live sources and semi live ones much better.
6190 Fix unlocking when seeking, shutting down and pausing in live sources.
6192 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6194 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6195 Fix compilation again.
6197 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6200 Use meaningful categories for the logs to clean the default one.
6202 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6204 * tests/check/pipelines/cleanup.c:
6205 Print message name and not just number.
6207 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6209 * docs/design/draft-tagreading.txt:
6210 Add some more thoughts.
6212 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6214 * tests/check/pipelines/simple-launch-lines.c:
6215 Print message name and not just number.
6217 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6219 * libs/gst/base/gsttypefindhelper.c:
6220 Speedup typefinding. This is work in progress (see #459862).
6222 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6225 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6226 Spotted by Josep Torra Valles <josep@fluendo.com>.
6228 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6231 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6232 field has moved to GstObject.
6234 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6236 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6237 (gst_base_src_get_range), (gst_base_src_change_state):
6238 Call unlock for live sources so that they can't get stuck in _create and
6239 produce a buffer before they are set back to PLAYING.
6241 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6243 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6244 (gst_queue_locked_dequeue):
6245 Comment the segment-related code... in the PROPER function.
6246 See #482147 and my commit from yesterday.
6248 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6250 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6251 Also initialize the counter that calculates the first timestamp on a
6252 buffer correctly for non-live sources.
6254 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6256 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6257 Disable code that's breaking the current-time-level reporting.
6260 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6262 * docs/gst/gstreamer-sections.txt:
6263 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6264 as they shouldn't show up. Fixes the docs build.
6266 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6269 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6270 Define M_PI which is used in files which are including gstinfo.h.
6271 VS6 includes doesn't define it.
6272 * win32/common/libgstbase.def:
6273 * win32/common/libgstcontroller.def:
6274 * win32/common/libgstreamer.def:
6275 Add new exported functions and variables.
6276 * win32/vs6/libgstcontroller.dsp:
6277 * win32/vs6/libgstreamer.dsp:
6278 Update the list of files to build.
6280 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6282 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6284 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6285 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6286 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6287 Improve debugging. Fixes #480858.
6289 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6291 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6293 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6294 First patch of code cleanups, use the macros and right arguments in the
6295 macros to signal and lock the queue. See #480858.
6297 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6299 * gst/gstbus.c: (poll_func):
6300 Improve debugging when dealing with _poll().
6302 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6304 * gst/gstregistryxml.c:
6305 Fix memory leak I introduced a few days ago.
6307 2007-09-26 Michael Smith <msmith@fluendo.com>
6309 * gst/gstbuffer.c: (gst_buffer_finalize):
6310 Make it once again possible to free GstBuffers in the default
6312 The poisoning scribbles on parts of the miniobject we need in
6316 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6318 * docs/gst/gstreamer-sections.txt:
6321 API: add GST_TAG_COMPOSER, fixes #459809.
6323 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6327 Add the 3-clause BSD license and the MIT/X11 license to the license
6328 list. Fixes #479784.
6330 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6332 * docs/faq/getting.xml:
6333 Add Q+A about different GStreamer versions (#364056).
6335 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6337 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6338 (gst_base_sink_event), (gst_base_sink_change_state):
6339 Return correct gboolean from query function.
6341 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6343 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6344 (gst_base_sink_event), (gst_base_sink_query),
6345 (gst_base_sink_change_state):
6346 Simplify latency query.
6347 When not synchronizing, we can report latency without querying the peer
6350 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6354 Fix small typos in the docs.
6356 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6358 * docs/design/draft-latency.txt:
6359 * docs/design/draft-push-pull.txt:
6360 * docs/design/draft-tagreading.txt:
6361 * docs/design/part-MT-refcounting.txt:
6362 * docs/design/part-activation.txt:
6363 * docs/design/part-block.txt:
6364 * docs/design/part-element-source.txt:
6365 * docs/design/part-events.txt:
6366 * docs/design/part-gstbin.txt:
6367 * docs/design/part-gstelement.txt:
6368 * docs/design/part-gstobject.txt:
6369 * docs/design/part-gstpipeline.txt:
6370 * docs/design/part-messages.txt:
6371 * docs/design/part-preroll.txt:
6372 * docs/design/part-push-pull.txt:
6373 * docs/design/part-qos.txt:
6374 * docs/design/part-query.txt:
6375 * docs/design/part-scheduling.txt:
6376 * docs/design/part-seeking.txt:
6377 * docs/design/part-segments.txt:
6378 * docs/design/part-states.txt:
6379 Documentation updates and typo fixes.
6381 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6383 * plugins/elements/gstfakesink.c:
6384 Add some debug text to error message to indicate that
6385 we errored out on request.
6387 * tools/gst-launch.c:
6388 When the state change to PLAYING fails, check for an
6389 error message on the bus and print it.
6391 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6393 translated by: Jorge González González <aloriel@gmail.com>
6397 Added Spanish translation.
6399 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6401 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6402 Fix printf arguments.
6404 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6406 * tests/check/generic/states.c:
6407 Improved state change unit test.
6409 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6412 Move priv to the right place.
6414 * gst/gstsystemclock.c:
6415 Add FIXME: and improve log.
6417 * tests/check/Makefile.am:
6418 * tests/examples/manual/Makefile.am:
6419 Work with all types of registries.
6421 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6423 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6424 Don't unref the event after pushing it. Fixes #478401.
6426 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6429 * tests/examples/manual/.cvsignore:
6430 Ignore registries in any format.
6432 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6434 * gst/glib-compat-private.h:
6435 Add compatibility macro for g_intern_string() for
6436 GLib-2.8 (any reason we can't just bump the
6437 requirement to at least 2.10?)
6439 * gst/gstpadtemplate.h:
6440 * gst/gstelementfactory.c:
6441 * gst/gstregistryxml.c:
6442 * gst/gstregistrybinary.c:
6443 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6444 up the internal code accordingly. This shouldn't be a problem, since
6445 there is no reason external code could ever assume the string in such
6446 a structure is dynamically allocated unless it did that itself; the
6447 use of g_strdup() is private to element factories. The new code also
6448 saves some memory by putting pad template name strings into the GLib
6449 quark table instead of allocating them dynamically.
6450 Declaring this field constant fixes warnings with g++-4.2 when using
6451 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6453 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6455 * gst/gstelementfactory.c:
6456 Release static caps. Fixes #475723.
6458 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
6462 Make some internal API take const gchar * instead of just
6463 gchar * to avoid compiler warnings with g++-4.2.2 when
6464 passing string constants (partially fixes #478092).
6466 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6468 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6469 A latency query fails when one of the sinks fail.
6471 * gst/gstelement.c: (gst_element_set_base_time):
6474 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6476 * gst/gstbin.c: (gst_bin_continue_func):
6477 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6478 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6479 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6481 Fix minor compilation warnings shown with Forte.
6483 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6485 * plugins/elements/gstqueue.c: (apply_buffer),
6486 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6487 Measure queue level based on the diff between head and tail timestamps
6488 even when pushing the first buffer.
6490 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6492 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6493 (gst_base_sink_event), (gst_base_sink_change_state):
6494 Sinks that don't preroll can always be queried for the latency.
6495 Don't post ASYNC start when we are not async.
6497 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6499 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6500 (gst_queue_handle_sink_event), (gst_queue_chain),
6501 (gst_queue_push_one), (gst_queue_handle_src_query),
6502 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6503 * plugins/elements/gstqueue.h:
6504 When downstream returns UNEXPECTED from pushing a buffer, don't try to
6505 push more buffers but allow pushing of EOS and NEWSEGMENT.
6506 Add some more debug info here and there. Fixes #476514.
6508 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6510 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6511 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6512 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6513 (gst_base_sink_set_flushing), (gst_base_sink_query),
6514 (gst_base_sink_change_state):
6515 Latency query is allowed after we are prerolled. Introduce a new flag
6516 for this and stop abusing other variables.
6518 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6520 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6521 Push OOB events downstream when we get them in send_event. This allows
6522 the application to insert events in the pipeline.
6523 Add some more comments.
6525 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6527 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6528 (do_bin_latency), (gst_bin_change_state_func):
6529 * gst/gstpipeline.c: (gst_pipeline_change_state):
6530 Move latency query from GstPipeline to GstBin so that we can also
6531 use it when async-handling is enabled on bins.
6533 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6535 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6536 (gst_base_src_do_sync), (gst_base_src_change_state):
6538 Clean up the timestamping and syncing code for pseudo live sources.
6540 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
6542 Patch by: Steve Fink <sphink gmail com>
6544 * docs/manual/appendix-checklist.xml:
6545 Mention less -R switch in the section about debug output (#474055).
6547 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6549 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6550 Queue can latency to the pipeline up to the configured max size in time.
6551 Report this fact in the latency query.
6553 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6555 Patch by: Sebastien Moutte <sebastien at moutte dot net>
6557 * libs/gst/controller/gstinterpolation.c:
6558 * libs/gst/controller/gstlfocontrolsource.c:
6559 Use gst_guint64_to_gdouble() when converting from a uint64 or
6560 GstClockTime to double to fix the build on win32. Fixes #474371.
6562 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6564 * gst/gstbuffer.c: (gst_buffer_finalize):
6565 Implement poisoning for GstBuffer if --enable-poisoning is specified.
6566 When finalizing a buffer the complete struct is filled with 0xff,
6567 thus making a use of the buffer after the final unref impossible.
6569 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6571 * tests/check/libs/controller.c: (GST_START_TEST):
6572 Use fail_unless_equals_int(a, b) instead of
6573 fail_unless_equals (a == b) to get better output on failures.
6575 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6577 * tests/check/gst/gsturi.c:
6578 Also check for the other file URI variant on win32.
6580 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6582 * gst/gsturi.c: (gst_uri_get_location):
6583 If there's no hostname, we want to return 'c:/foo/bar.txt'
6584 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6586 * tests/check/gst/gsturi.c:
6587 Unit test for the above and a few more things.
6589 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6591 * docs/design/part-live-source.txt:
6592 Add docs on how live sources should timestamp.
6594 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6595 Add some more debug info.
6596 For subclasses that are live and like to sync, add aditional startup
6597 latency to sync time and timestamps so that we timstamp according to the
6600 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6603 Also do a g_type_class_ref() for the subbuffer type in
6606 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6608 * docs/gst/gstreamer-sections.txt:
6609 * gst/gstpad.c: (gst_pad_peer_query):
6611 Add function to perform a query on the peer of a pad.
6612 API: gst_pad_peer_query()
6614 2007-09-11 Stefan Kost <ensonic@users.sf.net>
6616 * tests/check/gst/gstsystemclock.c:
6617 Cleanup the test a little (use gst-logging and not g_message). Improve
6618 test to check if a wait reached the target.
6620 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6622 * docs/libs/gstreamer-libs-sections.txt:
6623 Add new API to docs and fix the build.
6625 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
6627 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6628 (gst_base_src_init), (gst_base_src_set_do_timestamp),
6629 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6630 (gst_base_src_get_property), (gst_base_src_do_sync):
6631 * libs/gst/base/gstbasesrc.h:
6632 Add property to make the basesrc timestamp buffers based on the current
6634 API: GstBaseSrc::do-timestamp
6635 API: gst_base_src_set_do_timestamp()
6636 API: gst_base_src_get_do_timestamp()
6638 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
6640 * docs/random/release:
6641 Really make sure translations are up-to-date before
6642 a release (#465010).
6644 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
6646 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6647 Always destroy the timer, also in error cases.
6649 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6651 * docs/manual/highlevel-xml.xml:
6652 Fix XML example code. Fixes #472714.
6654 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6656 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6657 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6658 (gst_base_sink_query):
6659 Protect eos and have_preroll with the OBJECT lock so we don't need to
6660 take the PREROLL lock when querying the latency. Fixes #473846.
6662 2007-09-05 Stefan Kost <ensonic@users.sf.net>
6665 Give some log-messages a category.
6667 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
6669 * gst/gststructure.c:
6670 (gst_structure_fixate_field_nearest_fraction):
6671 Fix fraction list fixation code. Take the fraction with the smallest
6672 difference with the target instead of the first one in the list.
6674 * tests/check/gst/gststructure.c: (GST_START_TEST),
6675 (gst_structure_suite):
6676 Added test to verify correct fraction list fixation behaviour.
6678 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
6680 * win32/common/libgstreamer.def:
6681 Export gst_bus_add_signal_watch too.
6683 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
6685 * docs/libs/gstreamer-libs-sections.txt:
6686 Add new methods to docs.
6688 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6689 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6690 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6691 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6692 * libs/gst/base/gstbasesink.h:
6693 Add ts-offset property to fine-tune the synchronisation.
6694 API: GstBaseSink::ts-offset property
6695 API: gst_base_sink_set_ts_offset()
6696 API: gst_base_sink_get_ts_offset()
6698 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
6700 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6701 (gst_base_sink_init), (gst_base_sink_set_sync),
6702 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6703 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6704 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6705 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6706 (gst_base_sink_get_property), (gst_base_sink_change_state):
6707 * libs/gst/base/gstbasesink.h:
6708 Add async property to instruct the sink never to inform the parent about
6709 ASYNC state changes, update docs.
6710 Check argument with g_return_* for the public functions.
6711 API: GstBaseSink::async property
6712 API: gst_base_sink_set_async_enabled()
6713 API: gst_base_sink_is_async_enabled()
6715 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
6717 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6720 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6721 (gst_base_src_default_query), (gst_base_src_wait),
6722 (gst_base_src_do_sync), (gst_base_src_change_state):
6723 Rearrange some code so that we can add support for measuring the
6726 2007-08-27 Stefan Kost <ensonic@users.sf.net>
6728 * docs/random/ensonic/dynlink.txt:
6729 More thoughs on this.
6731 * plugins/elements/gstcapsfilter.c:
6732 Add bugzilla ticket number to FIXME comment.
6734 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
6736 * docs/design/part-TODO.txt:
6737 * docs/design/part-block.txt:
6740 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6743 Revert patch which uses $(gst_headers) instead of $^ because it
6746 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6748 * tests/check/gst/gstbin.c: (GST_START_TEST):
6749 Fix leaks in the new unit test.
6751 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
6754 Don't use GST_INFO before the debug system is actually initialised
6755 (shouldn't do any harm, but won't print anything either, so we can
6756 just as well remove it).
6759 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6760 compilers that don't support variadic macros (such as MSVC), should
6761 check for debug_level <= __gst_debug_min as well, since that's the
6762 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6763 inline helper functions. Should improve performance a bit, but also
6764 makes sure uses of GST_INFO et.al are ignored if the debugging
6765 system isn't initialised yet (instead of printing an assertion
6768 2007-08-23 Stefan Kost <ensonic@users.sf.net>
6770 patch by: David Nečas <yeti@physics.muni.cz>
6773 Replace some non portable makefile constructs.
6775 2007-08-21 Stefan Kost <ensonic@users.sf.net>
6777 * common/gtk-doc-plugins.mak:
6778 Grrrrr. Don't remove the types file on make clean.
6780 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
6782 * tools/gst-launch.1.in:
6783 Add colorspace to example pipeline. Fixes #458274.
6785 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
6787 * docs/random/release:
6788 The release manager should run 'make download-po' before making a
6789 release to make sure translations are up-to-date.
6795 Add some new translations.
6797 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
6799 * tools/gst-launch.c: (event_loop), (main):
6800 Don´t try to do any state management when a live pipeline posts
6802 Also make the buffering string translatable.
6804 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6806 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6807 (bin_handle_async_start), (gst_bin_handle_message_func):
6809 When adding elements, insert messages into the bus of the newly added
6810 element and make sure the element is the source of the message. This
6811 allows the parent bin to intercept the message and do the
6812 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6813 messages to the app (which is not allowed).
6816 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6817 Fix testsuite so that is does not work around messages that should not
6818 have been posted in the first place.
6820 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6822 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
6823 (update_degree), (gst_bin_sort_iterator_next):
6824 Fix annoying bug in the sorted iterator where a sink that is not really
6825 a sink (when it has downstream links) screwed up the iterator.
6827 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6828 Unit test to verify the fix.
6830 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6833 Add some more docs for the messages.
6835 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6836 (gst_base_sink_query):
6837 Add some more debugging.
6839 * tools/gst-launch.c: (event_loop):
6840 When interrupting, don't try to set pipeline to PAUSED twice.
6842 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
6845 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
6846 (bin_handle_async_start), (gst_bin_handle_message_func):
6847 Move ASYNC_START message posting to where it belongs, similar to
6849 Don't post ASYNC_START when we are in error.
6850 Post ASYNC_START when we added an async element to a bin.
6852 2007-08-14 Julien MOUTTE <julien@moutte.net>
6854 * gst/gstindex.c: (gst_index_add_association): Fix index entry
6855 generation from vargs. Fixes #466595.
6857 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
6859 * gst/gstbin.c: (gst_bin_element_set_state):
6860 Always change the state of a NO_PREROLL element even if it has ASYNC
6861 elements inside (in case of a bin).
6863 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
6864 Unit test for this case.
6866 2007-08-13 Stefan Kost <ensonic@users.sf.net>
6868 * libs/gst/check/gstbufferstraw.c:
6869 * libs/gst/check/gstcheck.h:
6870 * libs/gst/controller/gstcontroller.c:
6871 * libs/gst/controller/gstcontrolsource.h:
6872 * libs/gst/controller/gstlfocontrolsource.h:
6873 * plugins/elements/gstcapsfilter.h:
6874 * plugins/elements/gstfdsink.h:
6875 * plugins/elements/gstfdsrc.h:
6876 Add more missing docs.
6878 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
6880 * gst/gststructure.c:
6881 Add Since tag to docs.
6883 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
6885 * docs/gst/gstreamer-sections.txt:
6886 * gst/gststructure.c: (gst_structure_get_uint):
6887 * gst/gststructure.h:
6888 Add function to get uint from a structure.
6889 API: gst_structure_get_uint()
6891 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
6893 * gst/gstcaps.c: (gst_caps_set_simple_valist),
6894 (gst_caps_intersect):
6895 Fix proper check for simple caps.
6897 2007-08-10 Stefan Kost <ensonic@users.sf.net>
6899 * docs/gst/Makefile.am:
6900 * docs/libs/Makefile.am:
6901 Remove cruft and do some cleanups.
6903 * docs/gst/gstreamer-docs.sgml:
6904 * docs/libs/gstreamer-libs-docs.sgml:
6905 Prepare for comming gtkdoc features (rebase against online docs).
6907 2007-08-10 Michael Smith <msmith@fluendo.com>
6909 * docs/gst/gstreamer-sections.txt:
6910 Add gst_registry_add_path to docs.
6912 2007-08-10 Michael Smith <msmith@fluendo.com>
6914 * gst/gstregistry.h:
6915 Add gst_registry_add_path, which was missing from this header.
6917 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
6919 * libs/gst/controller/gstlfocontrolsource.c:
6922 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
6924 * libs/gst/base/gstbasesink.c:
6925 Don't send an async_start message during downwards state change if
6926 target state is less than READY
6928 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
6930 translated by: Gabor Kelemen <kelemeng@gnome.hu>
6934 Added Hungarian translation.
6936 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
6943 Updated translations.
6945 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
6947 * libs/gst/controller/Makefile.am:
6948 Dist gstlfocontrolsourceprivate.h
6950 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
6952 * docs/libs/gstreamer-libs.types:
6953 Don't register the enum type gst_lfo_waveform_get_type() in the
6954 .types file - only GObject derived types belong.
6956 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
6958 Patch by: <arenevier at fdn dot fr>
6961 Remove comma from last element in enum to avoid compile errors when
6962 using -pendantic. Fixes #464366.
6964 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
6966 * docs/design/part-TODO.txt:
6967 Add some more TODO items
6969 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
6972 * gst/gstcaps.c: (gst_caps_intersect):
6973 Optimize trivial intersection case between identical caps pointers.
6975 * gst/gstelement.c: (gst_element_continue_state),
6976 (gst_element_set_state_func):
6978 Fix spelling and grammar mistakes.
6980 2007-08-05 Stefan Kost <ensonic@users.sf.net>
6984 Update POTFILES. Fixes #461599.
6986 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
6989 Fix confusing typo in debug output.
6991 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
6993 reviewed by: Stefan Kost <ensonic@users.sf.net>
6995 * libs/gst/controller/Makefile.am:
6996 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
6997 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
6998 (gst_lfo_control_source_new),
6999 (gst_lfo_control_source_set_waveform),
7000 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7001 (gst_lfo_control_source_finalize),
7002 (gst_lfo_control_source_dispose),
7003 (gst_lfo_control_source_set_property),
7004 (gst_lfo_control_source_get_property),
7005 (gst_lfo_control_source_class_init):
7006 * libs/gst/controller/gstlfocontrolsource.h:
7007 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7008 API: Add GstLFOControlSource, a control source that gives values
7009 for specific timestamps based on several periodic waveforms.
7012 * tests/check/libs/controller.c: (GST_START_TEST),
7013 (gst_controller_suite):
7014 * docs/libs/gstreamer-libs-docs.sgml:
7015 * docs/libs/gstreamer-libs-sections.txt:
7016 * docs/libs/gstreamer-libs.types:
7017 Add documentation and unit tests for GstLFOControlSource.
7019 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7024 === release 0.10.14 ===
7026 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7029 releasing 0.10.14, "Breathing Vacuum"
7031 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7033 * gst/gstelement.c: (gst_element_class_set_details_simple):
7035 Make strings passed to gst_element_class_set_details_simple()
7036 constant, as they should be (#462752).
7038 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7040 * gst/gstbin.c: (gst_bin_change_state_func),
7041 (bin_handle_async_done), (gst_bin_handle_message_func):
7042 Don't forget about the fact that some element went ASYNC even after a
7043 resync. This makes us post the ASYNC_DONE message correctly.
7046 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7048 * gst/gstregistry.c: (gst_registry_add_feature):
7049 When replacing an existing feature in the registry, make sure to
7050 continue holding a reference until we've replaced the name string
7051 within our feature hash table. Make sure to use g_hash_table_replace
7052 instead of g_hash_table_insert to ensure the new name string is used
7053 as a key instead of the old one that we're about to free.
7056 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7058 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7059 (gst_plugin_feature_set_name):
7060 Revert patch from #459466 until after the release and we can work
7061 out exactly what the problem is (if any).
7063 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7065 * docs/gst/gstreamer-sections.txt:
7068 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7070 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7072 * docs/libs/Makefile.am:
7073 Include our build-prefix libs and includes before the generic ones to
7074 avoid linking against the installed libs when we want the build-tree
7077 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7079 Patch by: Steve Fink <sphink gmail com>
7081 * docs/pwg/building-testapp.xml:
7082 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7083 if people try to build or install the example from the plugin
7084 template against a GStreamer from package using the configure
7087 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7089 Patch by: Steve Fink <sphink gmail com>
7091 * tools/gst-inspect.1.in:
7092 Document --print-all and --print-plugin-auto-install-info command
7093 line options in man page.
7095 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7097 * docs/gst/gstreamer-sections.txt:
7098 Add docs for new api function.
7100 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7102 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7103 * gst/gstelementfactory.h:
7104 API: gst_element_factory_has_interface()
7105 Added method to check if an element factory implements a named
7108 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7111 * docs/gst/gstreamer.types.in:
7112 Another conditional doc check.
7115 * gst/gstparamspecs.h:
7116 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7121 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7123 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7124 (gst_registry_binary_load_feature),
7125 (gst_registry_binary_load_plugin),
7126 (gst_registry_binary_read_cache):
7127 Print error just once and with additional info.
7129 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7131 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7132 (helper_find_suggest), (helper_find_get_length),
7133 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7134 (gst_type_find_helper_for_buffer):
7135 Cleanup the typefindhelper code and add private doc comments.
7137 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7139 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7140 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7141 Fix capsfilter for cases where the caps set on capsfilter will provide
7142 additional information.
7145 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7147 * gst/gsttypefindfactory.c:
7148 Fix docs that recommened wrong function to use.
7150 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7152 * tools/gst-inspect.c: (print_plugin_features):
7153 Also give media-type for typefinders in element output.
7155 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7157 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7158 (gst_registry_remove_features_for_plugin_unlocked),
7159 (gst_registry_add_feature), (gst_registry_remove_feature),
7160 (gst_registry_lookup_feature_locked):
7161 * gst/gstregistry.h:
7162 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7165 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7167 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7168 (gst_plugin_feature_set_name):
7169 Avoid double memory usage for pluginfeature names. Fixes #459466.
7171 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7174 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7175 driving the pipeline may need to explicitly check for NOT_LINKED as
7176 well, since IS_FATAL doesn't cover that.
7178 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7180 * docs/pwg/advanced-types.xml:
7181 Fix typo and duplicate entry in video formats list.
7183 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7185 * libs/gst/controller/gstinterpolation.c:
7186 Also round to the nearest int when using cubic interpolation.
7188 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7190 * libs/gst/controller/gstinterpolation.c:
7191 When linearly interpolating integer types, round to the nearest int
7192 by adding 0.5. Don't do it for float/double types.
7193 Fixes the failing controller test on my machine, which is somehow
7194 rounding differently than on the buildbots.
7196 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7198 * tools/gst-plot-timeline.py:
7199 Better log parsing (categories can have -). Adjust text vs. lines, so
7200 that they span the same y-range.
7202 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7204 * docs/random/ensonic/audiobaseclasses.txt:
7205 * docs/random/ensonic/dynlink.txt:
7206 * docs/random/ensonic/profiling.txt:
7209 * docs/random/moving-plugins:
7210 Add note to use g_assert type macros.
7212 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7215 * libs/gst/check/Makefile.am:
7216 Add libm check as we use in for plugins.
7218 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7220 * gst/gstbin.c: (gst_bin_continue_func):
7221 Check that the state_cookie hasn't changed since the continue_func
7222 was scheduled. Avoids problems where the state changes back to
7223 something it shouldn't be because it was changed in the meantime.
7225 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7227 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7228 (gst_registry_binary_save_string),
7229 (gst_registry_binary_save_pad_template),
7230 (gst_registry_binary_save_feature),
7231 (gst_registry_binary_save_plugin),
7232 (gst_registry_binary_load_feature),
7233 (gst_registry_binary_load_plugin),
7234 (gst_registry_binary_read_cache):
7235 Fix memory leak. Be less verbose in the log.
7237 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7239 * tests/check/elements/.cvsignore:
7240 Add file to cvsignore as commanded.
7242 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7244 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7245 (mq_dummypad_event), (run_output_order_test):
7246 Use a GStaticMutex to protect all cases where libcheck
7247 fail_if/fail_unless macros might be called from multiple threads
7248 simultaneously to avoid errors like:
7249 "check_pack.c:107: :-1081725400:Bad message type arg"
7251 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7253 * tests/check/pipelines/stress.c: (GST_START_TEST):
7254 Make sure we set the pipeline back to the NULL state before
7255 dropping our final reference.
7257 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7259 * tests/check/elements/tee.c: (GST_START_TEST):
7260 Make the tee stress-test a little less stressful so it doesn't just
7261 time out on slow-machines, and remove a small race when it's starting
7262 up by adding a get_state() call.
7264 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7267 Avoid reading registry twice on startup. Fixes #457322.
7269 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7271 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7272 * pkgconfig/gstreamer-check.pc.in:
7273 Substitute the CFLAGS for libcheck into our .pc file too so that
7274 dependent modules will pick it up properly if libcheck is installed
7275 into some other prefix.
7277 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7280 Revert the pkg-config check for libcheck, since it pulls in the
7281 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7282 a proper solution, either from the check project, or something else.
7284 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7287 Use pkg-config to locate check.
7289 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7296 Add deprecation guards.
7298 * libs/gst/base/gstcollectpads.h:
7299 Don't document object (this is implicitly private).
7301 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7303 * gst/gststructure.c: (gst_structure_parse_value):
7304 When deserialising foo=bar without a type cast, check if it's a
7305 boolean before falling back to a string type, otherwise things like
7306 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7307 because the filtercaps end up having a signed=(string)true field,
7308 which causes problems later when intersection caps.
7310 * tests/check/gst/gststructure.c: (GST_START_TEST):
7311 Add a unit test for this.
7313 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7315 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7317 * libs/gst/controller/Makefile.am:
7318 * libs/gst/controller/gstcontroller.c:
7319 (gst_controlled_property_add_interpolation_control_source),
7320 (gst_controlled_property_new), (gst_controlled_property_free),
7321 (gst_controller_find_controlled_property),
7322 (gst_controller_new_valist), (gst_controller_new_list),
7323 (gst_controller_new), (gst_controller_remove_properties_valist),
7324 (gst_controller_remove_properties_list),
7325 (gst_controller_remove_properties),
7326 (gst_controller_set_property_disabled),
7327 (gst_controller_set_disabled), (gst_controller_set_control_source),
7328 (gst_controller_get_control_source), (gst_controller_get),
7329 (gst_controller_sync_values), (gst_controller_get_value_array),
7330 (_gst_controller_dispose), (gst_controller_get_type),
7331 (gst_controlled_property_set_interpolation_mode),
7332 (gst_controller_set), (gst_controller_set_from_list),
7333 (gst_controller_unset), (gst_controller_unset_all),
7334 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7335 * libs/gst/controller/gstcontroller.h:
7336 * libs/gst/controller/gstcontrollerprivate.h:
7337 * libs/gst/controller/gstcontrolsource.c:
7338 (gst_control_source_class_init), (gst_control_source_init),
7339 (gst_control_source_get_value),
7340 (gst_control_source_get_value_array), (gst_control_source_bind):
7341 * libs/gst/controller/gstcontrolsource.h:
7342 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7343 (gst_object_get_control_source):
7344 * libs/gst/controller/gstinterpolation.c:
7345 (gst_interpolation_control_source_find_control_point_node),
7346 (gst_interpolation_control_source_get_first_value),
7347 (_interpolate_none_get), (interpolate_none_get),
7348 (interpolate_none_get_boolean_value_array),
7349 (interpolate_none_get_enum_value_array),
7350 (interpolate_none_get_string_value_array),
7351 (_interpolate_trigger_get), (interpolate_trigger_get),
7352 (interpolate_trigger_get_boolean_value_array),
7353 (interpolate_trigger_get_enum_value_array),
7354 (interpolate_trigger_get_string_value_array):
7355 * libs/gst/controller/gstinterpolationcontrolsource.c:
7356 (gst_control_point_free), (gst_interpolation_control_source_reset),
7357 (gst_interpolation_control_source_new),
7358 (gst_interpolation_control_source_set_interpolation_mode),
7359 (gst_interpolation_control_source_bind),
7360 (gst_control_point_compare), (gst_control_point_find),
7361 (gst_interpolation_control_source_set_internal),
7362 (gst_interpolation_control_source_set),
7363 (gst_interpolation_control_source_set_from_list),
7364 (gst_interpolation_control_source_unset),
7365 (gst_interpolation_control_source_unset_all),
7366 (gst_interpolation_control_source_get_all),
7367 (gst_interpolation_control_source_get_count),
7368 (gst_interpolation_control_source_init),
7369 (gst_interpolation_control_source_finalize),
7370 (gst_interpolation_control_source_dispose),
7371 (gst_interpolation_control_source_class_init):
7372 * libs/gst/controller/gstinterpolationcontrolsource.h:
7373 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7374 API: Refactor GstController into the core controller which can take
7375 a GstControlSource for providing actual values for timestamps.
7376 Implement a interpolation control source and use this for backward
7377 compatibility, deprecate a bunch of functions that are now handled
7378 by GstControlSource or GstInterpolationControlSource.
7379 Make it possible to disable the controller completely or only for
7380 specific properties. Fixes #450711.
7381 * docs/libs/gstreamer-libs-docs.sgml:
7382 * docs/libs/gstreamer-libs-sections.txt:
7383 * docs/libs/gstreamer-libs.types:
7384 Add new functions and classes to the docs.
7385 * tests/check/libs/controller.c: (GST_START_TEST),
7386 (gst_controller_suite):
7387 * tests/examples/controller/audio-example.c: (main):
7388 Port unit test and example to the new API and add some new
7391 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7393 Patch by: Mark Nauwelaerts <manauw at skynet be>
7395 * plugins/elements/gstmultiqueue.c:
7396 (gst_multi_queue_get_internal_links), (apply_buffer),
7397 (single_queue_overrun_cb), (gst_single_queue_new):
7398 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7399 the pipeline layout can be tracked correctly. Fixes #453732.
7401 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7403 * docs/gst/Makefile.am:
7404 * docs/libs/Makefile.am:
7405 * docs/plugins/Makefile.am:
7406 Simplify --extra-dir as gtkdoc scans recursively.
7408 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7410 * tools/gst-launch.c: (main):
7411 When we got an error, there is no point in waiting for preroll when
7414 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7416 * plugins/elements/gsttee.c: (gst_tee_base_init),
7417 (gst_tee_request_new_pad), (gst_tee_release_pad),
7418 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7419 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7421 Be a lot smarter when deciding what srcpad to use for proxying
7422 the buffer_alloc. Also handle pad added/removed when doing so.
7424 Keep track of what pads we already pushed on in case we have pads
7425 added/removed while pushing. Fixes #374639
7427 * tests/check/Makefile.am:
7428 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7430 Added unit test for pad resync.
7432 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7436 Updated translations.
7438 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7440 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7444 Added new Finnish translation.
7446 2007-06-28 Wim Taymans <wim@fluendo.com>
7448 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7449 (single_queue_overrun_cb):
7450 When figuring out when a queue is filled, use our internal time estimate
7451 based on segments, just like check_full does.
7453 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7455 * gst/gstminiobject.c: (gst_mini_object_get_type):
7456 Remove 3 do-nothing methods.
7458 2007-06-27 Wim Taymans <wim@fluendo.com>
7460 Patch by: Tim Angus <tim at ngus dot net>
7462 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7463 (gst_capsfilter_set_property):
7464 Take a reference instead of a copy when setting "caps".
7465 Fix documentation to clarify this behaviour. Fixes #449414.
7467 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7469 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7470 * gst/gstplugin.c: (gst_plugin_init):
7471 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7472 * gst/gstquery.c: (gst_query_get_type):
7473 * gst/gstregistry.c: (gst_registry_init):
7474 * gst/gsturi.c: (gst_uri_handler_base_init):
7475 Remove empty instance_init() functions to save relocs and lessen the
7476 noise. Remove some of the function prototypes that are doubled by
7479 2007-06-27 Wim Taymans <wim@fluendo.com>
7481 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7483 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7484 Add peer and direction in the XML serialisation of ghostpads.
7487 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7490 Preserve useful information, thanks Tim.
7492 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
7494 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7495 (gst_single_queue_flush), (apply_segment), (apply_buffer),
7496 (gst_single_queue_push_one), (gst_multi_queue_loop),
7497 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7498 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7499 (compute_high_id), (gst_single_queue_new):
7500 * plugins/elements/gstmultiqueue.h:
7501 Take the multiqueue lock when updating the fill level so we don't get
7504 After applying a buffer or event on the src pad segment, make sure to
7505 call gst_data_queue_limits_changed() to get the data queue to unblock
7506 and check the filled state again.
7508 Rework the not-linked pad handling so the logic is that not-linked
7509 pads can push as fast as they like, but only so they never get
7510 ahead of any linked pads.
7512 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7513 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7514 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7516 Add a test to check that not-linked pads always stay behind
7521 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
7523 * docs/random/release:
7524 Some updates to the release procedure.
7526 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7528 * gst/gstelementfactory.c: (__gst_element_details_clear):
7529 Microoptimization that saves stunning 80 bytes.
7531 2007-06-25 Stefan Kost <ensonic@users.sf.net>
7533 * docs/plugins/gstreamer-plugins.args:
7534 * docs/plugins/inspect/plugin-coreelements.xml:
7535 * docs/plugins/inspect/plugin-coreindexers.xml:
7536 Update docs with caps info.
7538 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7541 Updated Italian translation.
7543 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7547 Update Vietnamese translations.
7549 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7551 * libs/gst/base/gstbasesink.c:
7552 Remove unused signal enum.
7554 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7556 * docs/gst/gstreamer-sections.txt:
7558 * gst/gstutils.c: (gst_type_register_static_full):
7559 Beef up and include the docs for gst_type_register_static_full and
7560 gst_element_class_set_details_simple and add the API keyword
7563 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7565 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7566 (update_time_level), (gst_single_queue_push_one),
7567 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7568 (single_queue_overrun_cb), (single_queue_underrun_cb),
7569 (single_queue_check_full):
7570 Fix setting max-* properties after adding queues.
7571 Use IS_FILLED for checking visible items.
7572 Signal overrun if multiple queues overrun.
7573 Add extra debug output.
7574 Patch by: Wim Taymans <wim@fluendo.com>
7576 2007-06-21 Stefan Kost <ensonic@users.sf.net>
7578 * gst/gstelement.c: (gst_element_class_set_details_simple):
7580 * gst/gstutils.c: (gst_type_register_static_full):
7582 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7583 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7584 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7585 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7586 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7587 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7588 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7589 * plugins/elements/gstidentity.c: (gst_identity_base_init):
7590 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7591 * plugins/elements/gstqueue.c: (gst_queue_base_init),
7592 (apply_buffer), (gst_queue_chain):
7593 * plugins/elements/gsttee.c: (gst_tee_base_init):
7594 * plugins/elements/gsttypefindelement.c:
7595 (gst_type_find_element_base_init),
7596 (gst_type_find_element_class_init):
7597 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7598 API: add gst_type_register_static_full
7599 API: add gst_element_class_set_details_simple
7601 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7603 * docs/pwg/advanced-types.xml:
7604 Fix typo in iana.org URI.
7606 2007-06-19 Andy Wingo <wingo@pobox.com>
7608 * tests/check/pipelines/simple-launch-lines.c
7609 (test_state_change_returns): Enable pull-mode tests now that
7610 basesink has been fixed.
7612 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7613 Changed from gst_base_sink_is_prerolled, reversing the sense of
7614 the return value. Returns FALSE also if the sink is in pull mode,
7615 in which case it needs no preroll.
7616 (gst_base_sink_query, gst_base_sink_change_state): Update for
7617 needs_preroll change.
7618 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7619 chaining up, in which we return SUCCESS directly if we activated
7620 in pull mode instead of ASYNC. Involves countering an async_start
7621 message sent before chaining up; not sure if this is correct, in
7622 an ideal world we only send async-start when activating in push
7625 * tests/check/pipelines/simple-launch-lines.c
7626 (test_state_change_returns): New test, partially disabled until
7629 2007-06-19 Wim Taymans <wim@fluendo.com>
7631 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7632 (gst_multi_queue_sink_event):
7635 2007-06-19 Wim Taymans <wim@fluendo.com>
7637 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7638 (gst_bin_change_state_func), (bin_push_state_continue),
7639 (bin_handle_async_start), (bin_handle_async_done),
7640 (gst_bin_handle_message_func):
7641 Move the common code for posting state-change messages into
7643 Broadcast the state signal after we posted the messages.
7644 Mark the bin as busy when it's doing a state-change.
7645 Make sure async-start/done messages don't interfere with the bin's
7646 state when it's busy.
7647 After the state change, let the bin check which elements completed the
7648 state change while it was busy so that it can update its state.
7650 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
7652 * docs/random/release:
7653 Add a note about updating the doap file to the release checklist
7655 2007-06-18 Wim Taymans <wim@fluendo.com>
7657 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7658 (gst_single_queue_push_one), (gst_multi_queue_chain),
7659 (gst_multi_queue_sink_event):
7660 Make sure we don't reference the buffer/event after we have given away
7661 ownership in the queue.
7663 2007-06-18 Wim Taymans <wim@fluendo.com>
7665 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7666 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7667 Update queue state _after_ adding the item in the queue because else we
7668 could end up being full without the element added yet.
7670 2007-06-18 Wim Taymans <wim@fluendo.com>
7672 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7673 (gst_bin_remove_func), (gst_bin_get_state_func),
7674 (gst_bin_element_set_state), (gst_bin_continue_func),
7675 (bin_push_state_continue), (bin_handle_async_start),
7676 (bin_handle_async_done), (gst_bin_handle_message_func):
7678 Immediatly commit the toplevel bin state when receiving an async-done
7679 message. This enables us to avoid spawning a thread to commit the state
7680 in some common cases and it also avoids some races.
7681 Avoid spawning a state thread when adding/removing async elements to a
7682 toplevel bin. Instead we immediatly update the bin state.
7683 Get rid of iterating all the children when getting the state in the bin
7684 because it is now always up-to-date.
7685 Fix bug where locked elements would always return _SUCCESS even it they
7686 returned NO_PREROLL before being locked.
7687 Fix the order of the state_change, async-start/done messages that was
7688 sometimes incorrect.
7689 Mark the state_dirty field as deprecated, we don't need it anymore as we
7690 are always up-to-date.
7692 * gst/gstelement.c: (gst_element_get_state_func),
7693 (gst_element_continue_state):
7694 Small debug inprovements.
7695 Return the previous element state return when nothing is pending instead
7696 of blindly returning SUCCESS.
7698 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7700 Add a whole bunch of new testcases.
7702 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
7706 Update translations.
7708 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
7711 Fix typo in the docs.
7713 2007-06-15 Wim Taymans <wim@fluendo.com>
7715 * docs/libs/gstreamer-libs-sections.txt:
7716 Add docs for new methods.
7718 2007-06-15 Wim Taymans <wim@fluendo.com>
7720 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7721 (gst_multi_queue_item_new):
7722 Don't use GSlice because we don't depend on >= 2.10 yet.
7724 2007-06-15 Wim Taymans <wim@fluendo.com>
7726 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7727 (update_time_level), (apply_segment), (apply_buffer),
7728 (gst_single_queue_push_one), (gst_multi_queue_item_new),
7729 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7730 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7731 (single_queue_underrun_cb), (single_queue_check_full):
7732 Remove debug printf.
7734 2007-06-15 Wim Taymans <wim@fluendo.com>
7736 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7737 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7738 (gst_data_queue_set_flushing), (gst_data_queue_push),
7739 (gst_data_queue_pop), (gst_data_queue_drop_head),
7740 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7741 * libs/gst/base/gstdataqueue.h:
7743 Added methods to get the current levels and to inform the queue that the
7744 'full' limits changed.
7746 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7747 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7748 (gst_single_queue_flush), (update_time_level), (apply_segment),
7749 (apply_buffer), (gst_single_queue_push_one),
7750 (gst_multi_queue_item_steal_object),
7751 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7752 (gst_multi_queue_loop), (gst_multi_queue_chain),
7753 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7754 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7755 (gst_multi_queue_src_query), (single_queue_overrun_cb),
7756 (single_queue_underrun_cb), (single_queue_check_full),
7757 (gst_single_queue_new):
7758 Keep track of time in the queue by measuring the difference between
7759 running_time on input and output. This gives more accurate results and
7760 can compensate for segments correctly.
7761 Make a queue by default only 5 buffers deep. We will now increase the
7762 buffer size depending on the filledness of the other queues.
7763 Factor out commong flush code.
7764 Make sure we don't add additional refcounts to buffers when we can avoid
7766 Propagate GstFlowReturn differently.
7767 Use GSlice for intermediate GstMultiQueueItems.
7769 Resize queues on over and underruns based on filled level of other
7771 When checking if the queue is filled, prefer to measure in time if we
7772 can and fall back to bytes when no time is known.
7774 * plugins/elements/gstqueue.c:
7777 2007-06-15 Wim Taymans <wim@fluendo.com>
7779 * libs/gst/base/gstbasetransform.c:
7780 (gst_base_transform_sink_event):
7781 Work around the brokenness of the event vmethod in basetransform. Prefer
7782 to return TRUE when the subclass returned FALSE (meaning don't forward
7785 * libs/gst/base/gstbasetransform.h:
7788 2007-06-15 Wim Taymans <wim@fluendo.com>
7790 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
7791 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7792 (gst_base_src_default_query), (gst_base_src_get_range),
7793 (gst_base_src_start):
7794 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
7797 2007-06-15 Stefan Kost <ensonic@users.sf.net>
7799 * docs/pwg/advanced-types.xml:
7800 Added more formats to caps table.
7802 2007-06-15 Stefan Kost <ensonic@users.sf.net>
7804 * tools/gst-launch.c: (main):
7805 Remove crufy code. GOption does not need this workaround.
7807 2007-06-14 Stefan Kost <ensonic@users.sf.net>
7809 * libs/gst/controller/gstcontroller.c:
7810 (gst_controlled_property_set_interpolation_mode):
7811 Fix wrong getter for enums in controller.
7813 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7815 * libs/gst/check/gstcheck.c: (gst_check_init):
7816 Intercept criticals and warnings in the Gst-Phonon log domain, so
7817 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7820 2007-06-14 Edward Hervey <edward@fluendo.com>
7822 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
7823 Since this file doesn't include "gst.h" it will not go through the
7824 macros that disable GST_LOG if debugging was disabled.
7826 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7828 * libs/gst/check/Makefile.am:
7829 * libs/gst/check/gstcheck.h:
7830 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7831 * pkgconfig/gstreamer-check.pc.in:
7832 Ugly 'fix' for the controller unit test on the p5 bot: in
7833 fail_unless_equals_float() check whether the values are 'almost
7834 equal' by allowing a small absolute error, which should be good
7835 enough for our use cases (normal numbers and values close to 0).
7836 Proper fixage left to floating point arithmetic aficionados.
7838 2007-06-14 Stefan Kost <ensonic@users.sf.net>
7840 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
7841 (gst_base_sink_render_object), (gst_base_sink_get_position):
7842 Add two breaks thats where missing.
7844 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7846 * docs/libs/gstreamer-libs-sections.txt:
7847 * libs/gst/check/gstcheck.h:
7848 API: add fail_unless_equals_float() and assert_equals_float().
7849 Add documentation for some of the macros.
7851 * tests/check/libs/controller.c: (GST_START_TEST):
7852 Use newly-added asserts.
7854 2007-06-14 Stefan Kost <ensonic@users.sf.net>
7856 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
7857 Show the caps change in the log to help spotting the case of not
7858 exactly matching caps.
7860 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7862 * docs/pwg/building-boiler.xml:
7863 Fix typos, spotted by Thijs Vermeir (#447190).
7865 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
7867 * docs/plugins/tmpl/.cvsignore:
7868 Ignore file to keep the buildbots happy
7870 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
7872 * docs/plugins/Makefile.am:
7873 * docs/plugins/gstreamer-plugins-docs.sgml:
7874 * docs/plugins/gstreamer-plugins-sections.txt:
7875 Pull fdsink into the docs too.
7877 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
7879 * libs/gst/controller/gstinterpolation.c:
7880 Actually use the new functions with min/max checks for the trigger and
7881 none interpolation modes for get() and get_value_array() instead of
7884 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
7886 * libs/gst/controller/gstcontroller.c:
7887 (gst_controlled_property_free):
7888 Unset the minimum and maximum GValues when freeing the corresponding
7889 GstControllerProperty struct.
7891 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
7893 * libs/gst/controller/gstcontroller.c:
7894 (gst_controlled_property_new):
7895 * libs/gst/controller/gstcontrollerprivate.h:
7896 * libs/gst/controller/gstinterpolation.c:
7897 (gst_controlled_property_find_control_point_node),
7898 (interpolate_none_get), (interpolate_none_get_enum_value_array),
7899 (interpolate_none_get_string_value_array),
7900 (interpolate_trigger_get),
7901 (interpolate_trigger_get_enum_value_array),
7902 (interpolate_trigger_get_string_value_array):
7903 Protect against values larger or smaller than the minimum or maximum
7904 allowed value for the property when using values that can be compared.
7906 Optimize trigger interpolator a bit by taking the last requested value
7907 into account instead of always looping through the complete list.
7909 Fix coding style a bit, everywhere else we use "return foo" instead
7912 * tests/check/libs/controller.c: (GST_START_TEST),
7913 (gst_controller_suite):
7914 Add unit test for the protection against too large or too small
7917 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
7919 * docs/random/slomo/controller.txt:
7920 Add some thoughts about the future of the controller.
7922 2007-06-08 Wim Taymans <wim@fluendo.com>
7924 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7925 Don't overflow in retimestamping code.
7927 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
7929 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
7930 Use gst_util_guint64_to_gdouble for conversions.
7931 * win32/common/libgstreamer.def:
7932 Add new exported functions.
7934 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
7937 Small docs addition.
7939 2007-06-07 Stefan Kost <ensonic@users.sf.net>
7942 Remove that test line again.
7944 2007-06-07 Stefan Kost <ensonic@users.sf.net>
7947 Test commit mail sending.
7949 2007-06-07 Stefan Kost <ensonic@users.sf.net>
7952 Fix typo and test commit mail sending.
7954 2007-06-07 Stefan Kost <ensonic@users.sf.net>
7956 * tests/examples/controller/audio-example.c:
7957 Improve comment and test commit mail sending.
7959 2007-06-07 Wim Taymans <wim@fluendo.com>
7961 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
7962 (gst_bin_remove_func), (gst_bin_element_set_state),
7963 (bin_handle_async_start), (bin_handle_async_done),
7964 (gst_bin_handle_message_func):
7965 Add helper function to find messages.
7966 Generate the async-done messages together with the state change
7968 Small cleanups in handling toplevel bins.
7970 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
7972 * libs/gst/base/gstdataqueue.c:
7973 * libs/gst/base/gstdataqueue.h:
7974 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
7975 (gst_multi_queue_item_new), (gst_multi_queue_chain),
7976 (gst_multi_queue_sink_event):
7977 * tests/check/elements/multiqueue.c: (multiqueue_suite):
7978 Fix multiqueue leaking buffers and events when downstream or the
7979 queue are flushing. Make refcounting assumptions explicit and
7980 document them (shouldn't break existing code that uses it other than
7981 maybe leak miniobjects, but that already happens anyway). Add unit
7982 test for the most common flushing case. Fixes #423700.
7984 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
7986 * libs/gst/controller/gstcontroller.c:
7987 Clarify docs: The get_all, get_value_array(s) functions
7988 don't modify the GObject properties.
7990 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
7992 * libs/gst/controller/gstcontroller.c:
7993 (gst_controlled_property_set_interpolation_mode),
7994 (gst_controlled_property_prepend_default),
7995 (gst_controlled_property_new), (gst_controller_set_unlocked),
7996 (gst_controller_set), (gst_controller_set_from_list),
7997 (gst_controller_unset), (gst_controller_unset_all):
7998 * libs/gst/controller/gstcontrollerprivate.h:
7999 * libs/gst/controller/gstinterpolation.c:
8000 Factor out the 'set' logic into gst_controller_set_unlocked for the
8001 gst_controller_set and gst_controller_set_from_list functions.
8003 To make life of the interpolators easier always add a control point
8004 at timestamp zero with the default value.
8006 In the linear interpolator make things more obvious by better variable
8009 Implement cubic interpolation mode (by using a natural cubic spline)
8010 and map the quadratic interpolation mode to this too (as quadratic
8011 doesn't make much sense, see discussion on the list).
8013 * tests/check/libs/controller.c: (GST_START_TEST),
8014 (gst_controller_suite):
8015 Add unit test for the cubic interpolation mode and check everywhere
8016 if the interpolation mode could be set as expected.
8018 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8020 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8021 Don't use GLib-2.10 functions, we still depend on
8022 GLib-how-old-is-it-again-2.8.
8024 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8026 * docs/gst/gstreamer-sections.txt:
8030 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8031 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8032 (_gst_param_fraction_values_cmp),
8033 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8034 * gst/gstparamspecs.h:
8036 * tests/check/Makefile.am:
8037 * tests/check/gst/.cvsignore:
8038 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8039 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8040 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8041 (GST_START_TEST), (gst_param_spec_suite):
8042 API: add GstParamSpecFraction, so elements can have fraction
8043 properties without lots of painful string parsing (#444648).
8045 2007-06-05 Wim Taymans <wim@fluendo.com>
8047 * gst/gstobject.c: (gst_object_class_init):
8048 Fix signal signature.
8051 Add small clarification in the api docs.
8053 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8054 States are protected with object lock.
8056 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8059 I should probably be listed as an author by now.
8061 * docs/random/release:
8062 Update the release doc
8064 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8067 Make docs for gst_value_compare() mention return enums that
8070 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8075 === release 0.10.13 ===
8077 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8080 releasing 0.10.13, "With or without you"
8082 2007-05-25 Wim Taymans <wim@fluendo.com>
8084 * gst/gstbin.c: (bin_handle_async_done):
8085 Make sure that the child bin stops after completing the async state
8086 change so that the parent can continue the state change to PLAYING.
8089 2007-05-25 Wim Taymans <wim@fluendo.com>
8091 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8092 (unref_data), (gst_collect_pads_remove_pad),
8093 (gst_collect_pads_check_pads):
8094 Use additional refcounting to avoid crashes when dynamically adding and
8095 removing pads. Fixes #420206.
8097 2007-05-24 Wim Taymans <wim@fluendo.com>
8099 * tools/gst-launch.c: (event_loop):
8100 When buffering goes from a two digit to a single digit number, make sure
8101 to remove the old second digit by writing a blank over it.
8103 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8105 * libs/gst/base/gstdataqueue.c:
8106 Eliminate tabs and trailing comma in enum list; fix some typos.
8108 2007-05-24 Wim Taymans <wim@fluendo.com>
8110 * tests/check/gst/gstbin.c: (GST_START_TEST):
8111 Allow refcount of 3 and 4 because some state thread might still be busy
8114 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8116 * plugins/elements/Makefile.am:
8117 * plugins/elements/gstmultiqueue.h:
8118 * plugins/elements/gstqueue.h:
8119 These are not installed headers, no need for padding.
8121 2007-05-24 Wim Taymans <wim@fluendo.com>
8123 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8124 (gst_bin_continue_func):
8125 Enable latency for next release.
8126 Restore STATE_LOCK around recalc_state that was left out during the
8127 rewrite and could result in racy behaviour when _get_state and
8128 recalc_state are run concurrently. See #440463.
8130 2007-05-23 Wim Taymans <wim@fluendo.com>
8132 * tests/check/gst/gstsystemclock.c: (store_callback),
8134 Improve test_async_order to also work when both timers are already
8135 expired when we get scheduled to check it.
8137 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8139 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8140 (gst_bin_set_property), (gst_bin_get_property),
8141 (gst_bin_remove_func), (gst_bin_handle_message_func):
8143 'private' is a c++ keyword, let's not use that in header files,
8144 otherwise c++ compilers will throw a tantrum.
8146 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8148 * plugins/elements/gstelements.c:
8149 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8150 (gst_file_sink_get_current_offset):
8151 * plugins/indexers/gstindexers.c: (plugin_init):
8152 Use #ifdef for HAVE_XYZ for consistency.
8154 * tests/check/Makefile.am:
8155 * tests/check/elements/.cvsignore:
8156 * tests/check/elements/filesink.c: (setup_filesink),
8157 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8158 Add some unit tests for filesink.
8160 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8162 Patch by: Mark Nauwelaerts <manauw at skynet be>
8164 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8165 (gst_file_sink_query), (gst_file_sink_do_seek),
8166 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8167 * plugins/elements/gstfilesink.h:
8168 Fix position reporting; rename data_written member to current_pos to
8169 reflect its real meaning (fixes #412648).
8171 2007-05-22 Edward Hervey <edward@fluendo.com>
8173 * docs/gst/gstreamer-sections.txt:
8174 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8175 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8176 (gst_bin_remove_func), (gst_bin_handle_message_func):
8178 Add a property for bins that handle the state change of their childs.
8181 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8183 * libs/gst/controller/gstinterpolation.c:
8184 Use an array of the correct type when using _get_value_array with
8185 linear interpolation.
8187 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8189 * gst/gstelement.c (gst_element_requires_clock,
8190 gst_element_provides_clock, gst_element_request_pad,
8191 gst_element_class_set_details, gst_element_class_set_details_simple,
8192 gst_element_default_send_event, gst_element_abort_state,
8193 gst_element_continue_state, gst_element_set_state,
8194 gst_element_set_state_func, iterator_activate_fold_with_resync):
8195 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8196 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8197 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8198 gst_pad_get_range, gst_pad_pull_range):
8199 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8200 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8201 GstPadActivateModeFunction, GstPadChainFunction,
8202 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8203 GstPadFixateCapsFunction, GstPadTemplate):
8204 * gst/gstpipeline.c (gst_pipeline_change_state,
8205 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8206 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8207 gst_pipeline_get_delay):
8208 Whitespace and docs fixes.
8210 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8212 * libs/gst/controller/gstinterpolation.c:
8213 (interpolate_trigger_get_enum_value_array),
8214 (interpolate_trigger_get_string_value_array):
8215 Add support for retrieving value arrays when using the trigger
8218 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8220 * libs/gst/controller/gstcontroller.c:
8221 (gst_controller_get_value_array):
8222 * libs/gst/controller/gstcontroller.h:
8223 Clarify the docs of gst_controller_get_value_array(): The array where
8224 the values should be written to must be allocated as there seems to be
8225 no way to get the size of a random GType. This doesn't change any
8226 behaviour. Also fix some typos all over the place and remove an unused,
8227 commented function that is not necessary as g_object_set() could be
8229 * tests/check/libs/controller.c: (GST_START_TEST),
8230 (gst_controller_suite):
8231 Add unit test for gst_controller_get_value_array().
8233 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8235 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8237 Disable part of the gst_buffer_try_new_and_alloc test, because
8238 it can happily succeed on 64-bit systems where there's more address
8241 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8243 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8244 Add unit test for the improved caps checking from bug #421543.
8246 2007-05-21 Wim Taymans <wim@fluendo.com>
8248 * docs/design/part-synchronisation.txt:
8251 * gst/gstbin.c: (gst_bin_query):
8252 * plugins/elements/gstqueue.c: (apply_segment):
8258 2007-05-21 Wim Taymans <wim@fluendo.com>
8260 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8261 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8262 (gst_pad_configure_src):
8263 Added simple version of improved caps checking. It was previously
8264 assumed that a setcaps function would check the validity of the caps but
8265 people prefer us to check caps against the template automatically.
8268 2007-05-21 Wim Taymans <wim@fluendo.com>
8270 * libs/gst/base/gstbasetransform.h:
8271 Fix macro for locking/unlocking the transform lock.
8273 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8275 * docs/plugins/tmpl/.cvsignore:
8278 2007-05-18 Edward Hervey <edward@fluendo.com>
8280 * plugins/elements/gstqueue.c: (gst_queue_loop):
8281 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8282 for the subtle art of warning a potentially blocking thread that it
8283 should check the source pad return value, and relay the information
8286 2007-05-18 Edward Hervey <edward@fluendo.com>
8288 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8289 Release the queue lock !
8291 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8293 * docs/libs/gstreamer-libs-sections.txt:
8294 Add the two new controller functions to the appropiate places.
8296 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8298 reviewed by: Stefan Kost <ensonic@users.sf.net>
8300 * libs/gst/controller/gstcontroller.c:
8301 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8302 (_gst_controller_get_property), (_gst_controller_set_property),
8303 (_gst_controller_init), (_gst_controller_class_init):
8304 * libs/gst/controller/gstcontroller.h:
8305 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8306 (gst_object_get_control_rate), (gst_object_set_control_rate):
8307 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8308 Add API that provides sync suggestion timestamps for elements that
8309 call gst_object_sync_values() from which those elements can subdivide
8310 their processing loop to get the best results for the controlled
8311 properties. For now it just suggests last_sync + control_rate as
8312 new timestamp but this will be improved in the future.
8314 While doing that change the control-rate property to a GstClockTime
8315 from guint and change it's meaning from samples to nanoseconds as
8316 the GstController doesn't know anything about sampling rate. Strictly
8317 speaking this breaks ABI but as the control-rate property didn't do
8318 anything in the past and as such couldn't be used this should be no
8321 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8323 reviewed by: Stefan Kost <ensonic@users.sf.net>
8325 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8326 (gst_controller_unset_all):
8327 * libs/gst/controller/gstcontrollerprivate.h:
8328 * libs/gst/controller/gstinterpolation.c:
8329 (gst_controlled_property_find_control_point_node):
8330 Save last synced value from the list to continue searching from there
8331 in future syncs. This speeds everything up a bit.
8333 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8335 reviewed by: Stefan Kost <ensonic@users.sf.net>
8337 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8338 (gst_control_point_find), (gst_controlled_property_new),
8339 (gst_control_point_free), (gst_controlled_property_free),
8340 (gst_controller_set), (gst_controller_set_from_list),
8341 (gst_controller_unset), (gst_controller_unset_all),
8342 (gst_controller_sync_values):
8343 * libs/gst/controller/gstcontroller.h:
8344 * libs/gst/controller/gstcontrollerprivate.h:
8345 * libs/gst/controller/gstinterpolation.c:
8346 (gst_controlled_property_find_control_point_node),
8347 (interpolate_none_get), (interpolate_trigger_get):
8348 Add a new private GstControlPoint struct which "inherits" from
8349 GstTimedValue to allow different interpolators to store internal
8350 values next to each control point. From the outside everything is
8351 still a GstControlPoint so we don't loose binary compatibility.
8352 Also fixup all the GValue handling to not leak GValues or list nodes.
8353 * tests/check/libs/controller.c: (GST_START_TEST):
8354 Free the list nodes and GValues in the controller_misc test.
8356 2007-05-17 Edward Hervey <edward@fluendo.com>
8361 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8363 * gst/gstplugin.c: (gst_plugin_load_file):
8364 If we fail to load a plugin because of unresolved symbols or missing
8365 libraries and spew a warning to stderr, we may just as well mention
8366 which plugin it was that failed to load.
8368 2007-05-13 David Schleef <ds@schleef.org>
8370 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8371 handles the case when ENABLE_GTK_DOC is false, and installs
8372 the prebuilt documentation. So gtk-doc subdirs are
8373 unconditionally enabled. Fixes: #349099.
8375 2007-05-13 David Schleef <ds@schleef.org>
8377 * gst/gstutils.h: Reword some documentation.
8379 2007-05-12 David Schleef <ds@schleef.org>
8381 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8382 do anything with the passed "module" parameter, so remove it.
8383 Allows removal of additional vestigal code.
8385 2007-05-12 David Schleef <ds@schleef.org>
8388 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8389 Switch to using g_stat() because it's more portable.
8391 2007-05-12 David Schleef <ds@schleef.org>
8394 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8395 parsing for embedded systems.
8396 * gst/gstelementfactory.c:
8397 Allow gst_element_register() to be called with plugin==NULL.
8398 Did nobody notice that static elements were broken?
8400 2007-05-12 Wim Taymans <wim@fluendo.com>
8402 * tools/gst-launch.c: (event_loop):
8403 Give more interesting info when buffering starts and stops.
8404 Fix case where buffering starts but we fail to update the buffering flag
8405 because the target state is not PLAYING.
8407 2007-05-12 Wim Taymans <wim@fluendo.com>
8409 * plugins/elements/gstqueue.c: (gst_queue_init),
8410 (gst_queue_finalize), (update_time_level), (apply_segment),
8411 (apply_buffer), (gst_queue_locked_flush),
8412 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8413 (gst_queue_handle_sink_event), (gst_queue_chain),
8414 (gst_queue_push_one), (gst_queue_loop):
8415 * plugins/elements/gstqueue.h:
8416 Refactor an cleanup queue a bit.
8417 Do better time level calculations that also work when the srcpad is not
8419 Remove some unneeded debug lines.
8421 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8422 Added testcase for time level measurement.
8423 Try to make some stuff more racefree.
8425 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8427 * gst/gsturi.c: (gst_element_make_from_uri):
8428 Don't leak plugin feature.
8430 * tests/check/Makefile.am:
8431 * tests/check/gst/.cvsignore:
8432 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8433 Add brain-dead unit test.
8435 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8437 Patch by: Jeroen Wouters <woutersj at gmail com>
8439 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8440 Treat protocol strings in a case-insensitive way (#437563).
8442 2007-05-11 Michael Smith <msmith@fluendo.com>
8444 * gst/gstplugin.c: (gst_plugin_load_file):
8445 * gst/gstregistry.c: (gst_registry_scan_path_level):
8446 Don't print a g_warning for any failure to load a shared object.
8447 Instead, push this down into gstplugin.c, and warn _only_ if we
8448 failed to open the module (i.e. failure to link).
8449 Avoids warnings on normal, working, non-plugin .so files.
8451 2007-05-11 Stefan Kost <ensonic@users.sf.net>
8453 * gst/gstplugin.c (gst_plugin_load_file):
8454 * gst/gstregistry.c (GST_CAT_DEFAULT,
8455 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8456 Print a g_warning if there was an error when loading a plugins during
8457 registry scan. The shuld help beginners starting with gst-plugin
8460 2007-05-10 Wim Taymans <wim@fluendo.com>
8462 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8463 (update_time_level), (gst_queue_locked_flush),
8464 (gst_queue_handle_sink_event), (gst_queue_chain),
8465 (gst_queue_push_one), (gst_queue_loop):
8466 * plugins/elements/gstqueue.h:
8467 Be smarter when calculating the current amount of data in the queue by
8468 measuring the difference between start and end timestamps (in running
8469 time) inside the queue. Fixes #432876.
8470 API: GstQueue::pushing to notify elements that we are pushing data again
8471 since the running signal is rather broken for this purpose.
8473 2007-05-10 Stefan Kost <ensonic@users.sf.net>
8475 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8476 gst_queue_base_init, gst_queue_init):
8479 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
8481 * win32/common/libgstreamer.def:
8482 Add new exported functions.
8483 * win32/vs6/grammar.dsp:
8484 Use grammar pre-generated files.
8486 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8488 Based on patch by: Peter Kjellerstedt <pkj at axis com>
8491 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8493 * gst/gstutils.c: (gst_parse_bin_from_description):
8495 Maintain API and ABI when --disable-parse is used. Now that
8496 we have an appropriate error code, we can just return NULL and the
8497 appropriate error when gst_parse_launch() is used despite it having
8498 been disabled (#342564).
8500 * tests/check/Makefile.am:
8501 * tests/check/pipelines/.cvsignore:
8502 * tests/check/pipelines/parse-disabled.c:
8503 Make sure these functions exist and return NULL plus a GError when
8504 --disable-parse is used.
8506 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8508 * tests/benchmarks/complexity.c: (main):
8509 * tests/benchmarks/mass-elements.c: (main):
8510 Set a good example and don't leak messages.
8512 2007-05-06 Stefan Kost <ensonic@users.sf.net>
8514 * docs/gst/Makefile.am:
8515 * docs/libs/Makefile.am:
8516 Correct fixxrefs options.
8518 * docs/plugins/Makefile.am:
8519 * docs/plugins/gstreamer-plugins-docs.sgml:
8520 * docs/plugins/gstreamer-plugins-sections.txt:
8521 * plugins/elements/Makefile.am:
8522 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8523 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8524 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8525 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8526 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8527 _GstCapsFilterClass, trans_class):
8528 * plugins/elements/gstelements.c (name, rank, type, _elements):
8529 * plugins/elements/gstidentity.c
8530 (gst_identity_check_imperfect_timestamp,
8531 gst_identity_check_imperfect_offset):
8532 Document capsfilter and add doc-blurb to identity.
8534 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
8536 * libs/gst/controller/gstcontroller.c:
8537 (gst_controlled_property_set_interpolation_mode):
8538 * libs/gst/controller/gstinterpolation.c:
8539 Don't crash if someone tries to set an interpolation mode that
8540 is invalid or that isn't supported yet. Fixes #422295.
8542 * tests/check/libs/controller.c: (GST_START_TEST),
8543 (gst_controller_suite):
8544 Add a test case for the above.
8546 2007-05-03 Edward Hervey <edward@fluendo.com>
8548 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8549 Properly set the last_stop position on GstSegment. This will only happen
8550 if there is a buffer to push out.
8552 2007-05-03 Wim Taymans <wim@fluendo.com>
8554 * libs/gst/base/gstbasetransform.c:
8555 (gst_base_transform_buffer_alloc):
8556 always_in_place does not mean that the sink and source caps are the
8557 same! Make sure we don't blindly proxy the buffer_alloc in this case.
8559 2007-05-03 Wim Taymans <wim@fluendo.com>
8561 * docs/libs/gstreamer-libs-sections.txt:
8562 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8563 (gst_base_src_default_query), (gst_base_src_get_range):
8564 * libs/gst/base/gstbasesrc.h:
8565 API: gst_base_src_query_latency(). Added method so that subclasses can
8566 easily get the latency values of the base source class.
8568 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
8570 * tools/gst-inspect.c (print_implementation_info):
8573 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
8575 * tools/Makefile.am:
8576 * tools/gst-launch.1.in:
8577 Don't create a customised man page based on the host architecture,
8578 describe the default registry path generically. That way the man
8579 page is the same for all architectures and packagers have one
8580 multilib issue less to deal with. Fixes #434926.
8582 2007-05-02 Wim Taymans <wim@fluendo.com>
8585 Fix documentation as spotted by rg on IRC.
8587 2007-04-29 Stefan Kost <ensonic@users.sf.net>
8590 Improve docs for gst_element_{link,unlink}.
8592 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
8594 * docs/design/part-events.txt:
8595 * docs/design/part-overview.txt:
8599 * libs/gst/base/gstbasesink.c:
8600 Typo fixes; minor docs addition.
8602 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8604 * docs/gst/gstreamer-sections.txt:
8605 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8606 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8608 API: Add gst_uri_protocol_is_supported(), which checks if a sink
8609 or src that supports a given URI protocol exists.
8611 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8613 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8614 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8615 Set the location to NULL if "file://" is set as URI. Otherwise
8616 some random previous URI would still be set if "file://" is
8617 set on an already used filesink/filesrc.
8619 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8621 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8622 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8623 Special case the "file://" URI as as this is used by some
8624 applications to test with gst_element_make_from_uri if there's
8625 an element that supports the URI protocol.
8626 Also move the g_path_is_absolute() check for the location part
8627 of the URI to also check this for "file://localhost/bla" URIs.
8629 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
8631 * docs/gst/gstreamer-sections.txt:
8632 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8634 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8636 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8638 2007-04-26 Stefan Kost <ensonic@users.sf.net>
8640 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8641 (gst_registry_binary_load_pad_template),
8642 (gst_registry_binary_load_plugin),
8643 (gst_registry_binary_read_cache):
8644 * gst/gstregistrybinary.h:
8645 Implement no-mmap alternative for registry reading. Do code cleanups.
8646 Add more comments about avoiding strdups for all text data. Comments
8649 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8651 * gst/gstregistrybinary.h (GstBinaryPluginElement,
8652 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8653 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8654 Comment structs and reformat to fix the build (that stuff should go
8655 into a priv. header).
8657 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8659 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8660 (gst_registry_binary_load_feature):
8661 * gst/gstregistrybinary.h:
8662 Refactor so that we can implement multiple features. Add support for
8663 TypeFindFactory features.
8665 2007-04-24 Stefan Kost <ensonic@users.sf.net>
8667 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8670 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8672 2007-04-23 Stefan Kost <ensonic@users.sf.net>
8674 * gst/gstbin.c: (gst_bin_element_set_state),
8675 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8676 (bin_handle_async_done), (gst_bin_handle_message_func):
8677 Fix build with --gst-disable-gst-debug
8679 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
8681 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8682 Make sure streaming has finished before calling the ::stop() vfunc,
8683 since that vfunc might clear state which is being used in the
8684 streaming thread. This fixes a race that caused crashes in
8685 audioresample when shutting down a pipeline (#420106).
8687 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8689 * docs/gst/gstreamer-sections.txt:
8690 That was one byte missing.
8692 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8695 * docs/gst/gstreamer-sections.txt:
8697 * gst/gstconfig.h.in:
8698 * gst/gstobject.c: (gst_object_class_init),
8699 (gst_signal_object_class_init):
8701 2nd attempt to have a xml-less build as a joined effort of #413123
8704 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8706 * docs/design/draft-tagreading.txt:
8707 Added open issues/thoughts to draft.
8709 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8711 * gst/parse/grammar.tab.pre.c:
8712 * gst/parse/grammar.tab.pre.h:
8713 * gst/parse/lex._gst_parse_yy.pre.c:
8714 Update the prebuild parser sources.
8716 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8718 * gst/parse/Makefile.am:
8719 And now fix the building of the flex sources. Now everything should
8722 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8724 * gst/parse/Makefile.am:
8725 Now hopefully fix the build failures by setting proper rule
8726 dependencies and moving instead of copying.
8728 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8730 * tests/benchmarks/complexity.gnuplot:
8731 * tests/benchmarks/complexity.scm:
8732 * tests/benchmarks/mass-elements.gnuplot:
8733 * tests/benchmarks/mass-elements.scm:
8734 Total licensification.
8736 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8738 * gst/parse/Makefile.am:
8739 Fix the build by correcting the rule that gave wrong files to flex.
8741 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8743 * tests/benchmarks/complexity.c:
8744 * tests/benchmarks/mass-elements.c:
8745 Change licence to LGPL as granted by Benjamin and Andy.
8747 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8749 * gst/parse/Makefile.am:
8750 Add correct grammar.tab.h dependency if compiling without new enough
8751 flex. Fixes #431150.
8753 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8755 * gst/parse/Makefile.am:
8756 Fix typo and use outdated sources if the flex/bison sources are newer
8757 than the pregenerated ones but flex is too old. Print a warning in
8758 that case. This should fix the build on the build bot.
8760 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8762 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8763 * gst/parse/Makefile.am:
8764 * gst/parse/grammar.y:
8765 * gst/parse/parse.l:
8766 Make the parser reentrant and recursively callable. This requires flex
8767 >= 2.5.31, for older versions pregenerated sources are used as we
8768 can't bump the build dependency. Finally fixes #349180.
8770 * gst/gstparse.c: (gst_parse_launch):
8771 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8774 * docs/gst/Makefile.am:
8775 * docs/gst/Makefile.am:
8776 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8777 (__gst_parse_strfree), (__gst_parse_link_new),
8778 (__gst_parse_link_free), (__gst_parse_chain_new),
8779 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
8780 (gst_parse_element_set), (gst_parse_free_link),
8781 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
8782 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
8783 (_gst_parse_launch):
8784 * gst/parse/grammar.tab.pre.h:
8785 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
8786 (yy_get_previous_state), (yy_try_NUL_trans), (input),
8787 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
8788 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
8789 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
8790 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
8791 (_gst_parse_yypop_buffer_state),
8792 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
8793 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
8794 (yy_fatal_error), (_gst_parse_yyget_extra),
8795 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
8796 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
8797 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
8798 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
8799 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
8800 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8801 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8802 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8803 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8804 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8805 (_gst_parse_yyfree):
8806 If the installed flex version is too old use pre-generated parser
8807 sources. These pre-generated parser sources are always updated when
8808 the actual flex/bison sources change but require everybody who wants
8809 to change something in the parser to have flex >= 2.5.31 installed.
8811 2007-04-18 Stefan Kost <ensonic@users.sf.net>
8813 * common/m4/gst-gettext.m4:
8814 * gst/gst-i18n-lib.h:
8815 Make --disable-nls to work
8817 2007-04-17 Wim Taymans <wim@fluendo.com>
8819 * gst/gstconfig.h.in:
8820 Revert previous change that broke the build.
8822 2007-04-17 Stefan Kost <ensonic@users.sf.net>
8826 * gst/gstconfig.h.in:
8827 Drop libxml2 dependency when building with
8828 --enable-binary-registry --disable-loadsave
8830 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
8832 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8833 (gst_registry_binary_read_cache):
8834 * gst/gstregistrybinary.h:
8835 Remove unnecessary <sys/mman.h> include which broke the win32 build
8836 with MingW; move includes from header file to .c file, even if the
8837 header file isn't installed; use g_strerror() where UTF-8 strings
8838 are expected, such as in GST_DEBUG messages.
8840 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
8842 * docs/libs/gstreamer-libs-sections.txt:
8843 Remove bogus addition for API I didn't end up keeping.
8845 * libs/gst/base/gstbasesrc.h:
8846 Mention Since: 0.10.13 in the documentation.
8848 Add the API keyword to the previous ChangeLog entry.
8850 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
8852 * docs/libs/gstreamer-libs-sections.txt:
8853 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8854 (gst_base_src_default_prepare_seek_segment),
8855 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
8856 * libs/gst/base/gstbasesrc.h:
8857 Allow basesrc derived classes to execute seeks in other formats
8858 by providing a prepare_seek_segment vmethod. Sub-classes can choose
8859 to prepare the GstSegment in any format that their perform_seek method
8860 will be able to understand. The default implementation provides the
8861 old behaviour of attempting to convert the seek offsets to the
8862 configured native format.
8864 API: basesrc::prepare_seek_segment vmethod.
8866 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
8868 * gst/gstelement.c: (gst_element_get_state_func):
8869 Don't output the same debug statement twice.
8871 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
8872 (gst_adapter_peek), (gst_adapter_take_buffer):
8873 Optimise the case where we have buffers at the head of the queue that
8874 can be joined quickly (because they're contiguous sub-buffers) by
8875 merging them together rather than copying data out into new memory.
8877 * gst/parse/grammar.y:
8878 * tests/check/pipelines/parse-launch.c:
8879 Fix a leak in an error path for parse_launch, and add a check
8880 for it to the testsuite.
8882 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
8884 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8885 Don't deadlock when releasing a pad - gst_pad_set_active may try
8886 and take the multiqueue lock too.
8888 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
8890 * gst/gsterror.c: (_gst_core_errors_init):
8892 API: add GST_CORE_ERROR_DISABLED (#392804).
8894 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
8896 * docs/faq/gst-uninstalled:
8897 don't get empty paths on the PATH variables
8898 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
8899 Don't format for the uncommon terminal width of 84 characters.
8901 2007-04-06 Wim Taymans <wim@fluendo.com>
8903 * gst/gstpipeline.c: (reset_stream_time),
8904 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
8905 Only try to select a different pipeline clock when we went back to
8906 PAUSED and not when we merely got flushed.
8908 2007-04-05 Michael Smith <msmith@fluendo.com>
8910 * tools/gst-launch.1.in:
8911 fractions are better supported in gstreamer than ractions, so
8912 suggest using those.
8914 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
8916 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
8920 Added Danish translation.
8922 2007-04-05 Wim Taymans <wim@fluendo.com>
8924 * libs/gst/base/gstbasesink.c:
8925 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
8926 Fix leak caused when refusing newsegment after EOS.
8928 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8929 (gst_fake_sink_init), (gst_fake_sink_set_property),
8930 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
8931 (gst_fake_sink_render), (gst_fake_sink_change_state):
8932 * plugins/elements/gstfakesink.h:
8933 Add num-buffers property to make the element generate EOS after a
8934 configurable amount of buffers.
8935 API: fakesink::num-buffers property.
8937 * tests/check/elements/fakesink.c: (GST_START_TEST),
8939 Fix GstBus leak in test.
8940 Test for fakesink num-buffers.
8942 2007-04-05 Wim Taymans <wim@fluendo.com>
8944 * libs/gst/base/gstbasesink.c:
8945 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
8946 (gst_base_sink_change_state):
8947 Don't accept anything after an EOS, return UNEXPECTED instead.
8949 * tests/check/elements/fakesink.c: (GST_START_TEST),
8951 Unit test for new EOS behaviour.
8953 2007-04-05 Wim Taymans <wim@fluendo.com>
8955 * gst/gstelement.c: (gst_element_get_request_pad):
8956 Make padtemplates also work when they don't contain %s or %d.
8958 2007-04-05 Wim Taymans <wim@fluendo.com>
8960 * docs/gst/gstreamer-sections.txt:
8961 * gst/gstclock.c: (gst_clock_adjust_unlocked),
8962 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
8964 Improve _adjust_unlocked() so that it overflows less.
8965 Add gst_clock_unadjust_unlocked to convert from external time to
8966 internal time based on calibration.
8967 Add some more debug.
8968 API: GstClock::gst_clock_unadjust_unlocked()
8970 2007-04-03 Wim Taymans <wim@fluendo.com>
8972 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8974 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8975 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
8976 when releasing sink pad. Fixes #425400.
8978 2007-04-02 Stefan Kost <ensonic@users.sf.net>
8980 * docs/random/ensonic/dynlink.txt:
8981 More work on proposal for new core api.
8983 * docs/libs/gstreamer-libs-sections.txt:
8984 * libs/gst/base/gstbasetransform.h:
8985 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
8987 * libs/gst/controller/gstcontroller.c:
8988 (on_object_controlled_property_changed),
8989 (gst_controller_sync_values),
8990 (gst_controller_set_interpolation_mode):
8991 * libs/gst/controller/gstcontroller.h:
8992 Less verbose logging add docs for unimplemented parts and correctly
8993 return when using unavailable parts.
8995 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
8997 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
8998 Move all the debug to the CLOCK category, and associate it with
9001 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9003 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9004 Make take_buffer a bit quicker by removing redundant checks
9005 caused by calling gst_adapter_take.
9007 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9009 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9012 * tests/check/Makefile.am:
9013 * tests/check/elements/.cvsignore:
9014 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9015 (GST_START_TEST), (multiqueue_suite):
9016 Add some dead simple unit tests for the 'multiqueue' element
9017 (some bits don't work yet and are disabled for now).
9019 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9021 * gst/gstelement.c: (gst_element_get_request_pad),
9022 (gst_element_class_get_request_pad_template):
9023 Make gst_element_get_request_pad() create request pads only for
9024 request pad templates and not for, say, sometimes pad templates.
9026 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9028 * docs/design/draft-klass.txt:
9029 Add example that needs more thinking.
9031 * docs/design/draft-missing-plugins.txt:
9032 More thoughts about wrapper plugins.
9034 * docs/random/ensonic/embedded.txt:
9035 * docs/random/ensonic/profiling.txt:
9038 2007-03-25 Wim Taymans <wim@fluendo.com>
9040 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9041 (gst_base_src_loop):
9042 Only push the segment events in the PLAYING state for live sources.
9044 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9046 * gst/gstpipeline.c: (gst_pipeline_change_state):
9047 Modify the clock distribution path in PAUSED->PLAYING so that we
9048 never attempt to choose a new clock unless we're actually leaving
9049 the PAUSED state for the first time. This prevents choosing a
9050 different clock when the state_change gets called for a 2nd time due
9051 to some element doing an async state change.
9053 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9055 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9056 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9057 (gst_pad_chain_unchecked), (gst_pad_push):
9058 Revert last commit. This needs some more thoughts.
9060 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9062 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9063 (gst_pad_chain_unchecked), (gst_pad_push):
9064 Check in set_caps if the caps are compatible with the pad and remove
9065 two functions that are redundant now. Fixes #421543.
9067 2007-03-22 Wim Taymans <wim@fluendo.com>
9069 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9070 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9071 Unref some more to make valgrind happy.
9073 2007-03-22 Wim Taymans <wim@fluendo.com>
9075 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9076 (gst_system_clock_id_wait_jitter),
9077 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9078 Fix anoying regression that survived a few releases. When adding an
9079 async entry while blocking on a sync entry, the sync entry will unblock
9080 but still be busy, so it should continue to wait instead of returning
9082 Add some comments here and there.
9084 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9085 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9086 Add testcase for this.
9088 2007-03-22 Wim Taymans <wim@fluendo.com>
9090 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9091 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9092 WRONG_STATE and can silently pause the task. All other cases should
9095 2007-03-22 Wim Taymans <wim@fluendo.com>
9097 Patch by: Ville Syrjala <syrjala at sci dot fi>
9099 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9100 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9103 2007-03-21 Michael Smith <msmith@fluendo.com>
9105 * docs/pwg/advanced-types.xml:
9106 Fix some errors in the typefinding docs pointed out on irc.
9108 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9110 * libs/gst/base/gstbasesrc.c:
9111 Clarify FIXME comment in the face of having added unlock_stop()
9113 2007-03-21 Wim Taymans <wim@fluendo.com>
9115 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9116 Prepare for release where we warn against possible app breakage in the
9117 case of live pipelines along with an env var to enable/disable live
9118 preroll mode (GST_COMPAT=[no-]live-preroll).
9120 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9122 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9123 So we should use correct constants for checking for None offset.
9125 2007-03-20 Wim Taymans <wim@fluendo.com>
9127 * docs/design/part-block.txt:
9128 Mention the fact that the newly switched element should be set to at
9131 2007-03-20 Wim Taymans <wim@fluendo.com>
9134 Fix compilation with registry disabled as spotted by Saur.
9136 2007-03-20 Wim Taymans <wim@fluendo.com>
9138 Patch by: Olivier Crete <tester at tester dot ca>
9140 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9141 Look at the pending state too when syncing the element state to the
9142 parent. Fixes #420133.
9144 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9146 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9147 (gst_base_sink_change_state):
9148 * libs/gst/base/gstbasesink.h:
9149 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9150 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9151 (gst_base_src_deactivate):
9152 * libs/gst/base/gstbasesrc.h:
9153 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9154 for sub-classes to correctly clear any state they set trying to
9155 unlock, such as clearing out unlock commands from a command fd.
9156 API: basesrc::unlock_stop
9157 API: basesink::unlock_stop
9159 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9160 (gst_fd_sink_render), (gst_fd_sink_unlock),
9161 (gst_fd_sink_unlock_stop):
9162 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9163 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9164 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9166 Implement unlock_stop in fdsrc and fdsink.
9167 Implement seeking in fdsrc when a seekable fd is passed, as in
9168 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9170 2007-03-19 Wim Taymans <wim@fluendo.com>
9172 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9174 * gst/gstelement.c: (gst_element_class_init):
9175 Fix pad-added and pad-removed signal signatures so that the pad type is
9176 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9178 2007-03-19 Wim Taymans <wim@fluendo.com>
9180 * docs/gst/gstreamer-sections.txt:
9181 Add new element field and method.
9183 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9184 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9185 (gst_bin_recalc_state), (gst_bin_get_state_func),
9186 (gst_bin_element_set_state), (gst_bin_change_state_func),
9187 (gst_bin_continue_func), (bin_bus_handler),
9188 (bin_push_state_continue), (bin_handle_async_start),
9189 (bin_handle_async_done), (gst_bin_handle_message_func):
9190 Make async state changes a bit smarter by using new ASYNC_START and
9191 ASYNC_DONE messages. This reduces the number of times we run the state
9192 recalculation thread.
9193 Don't change state of element with a pending ASYNC_START message.
9194 Deprecate STATE_DIRTY messages.
9196 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9197 (gst_element_get_state_func), (gst_element_continue_state),
9198 (gst_element_lost_state), (gst_element_set_state_func),
9199 (gst_element_change_state):
9201 Keep the state that was last set by the app in a new element field.
9202 Don't allow state changes when handling an element event.
9203 Post ASYNC_START and ASYNC_DONE messages.
9204 Change lost_state so that we go to PAUSED and wait for the parent to set
9205 us to PLAYING again (so latency calculation can be performed)
9206 Export gst_element_change_state() method so that subclasses can use it.
9207 API: gst_element_change_state()
9208 API: GST_STATE_TARGET
9210 * gst/gstpipeline.c: (gst_pipeline_class_init),
9211 (reset_stream_time), (gst_pipeline_change_state),
9212 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9213 Using the new ASYNC_START message we can reset the base_time when
9214 needed. This can then be used to implement base_time redistribution in
9215 flushing seeks so that we can remove the explicit seek handling.
9216 Perform latency query and configuration when going to PLAYING.
9218 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9219 (gst_base_sink_query), (gst_base_sink_change_state):
9220 Post new ASYNC_START/ASYNC_DONE messages.
9222 * tests/check/generic/sinks.c: (GST_START_TEST):
9223 Fix test because the bin will not set the async element to PLAYING right
9226 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9227 Make the message check a little stronger.
9228 Handle ASYNC messages.
9230 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9231 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9232 Expect ASYNC_DONE messages.
9234 2007-03-19 Wim Taymans <wim@fluendo.com>
9236 * docs/gst/gstreamer-sections.txt:
9237 * gst/gstmessage.c: (gst_message_new_async_start),
9238 (gst_message_new_async_done), (gst_message_parse_info),
9239 (gst_message_parse_async_start):
9241 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9244 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9246 * tools/gst-inspect.c:
9247 (print_plugin_automatic_install_info_codecs):
9248 Now that we don't check for the 'Codec' keyword any longer in the
9249 klass, we shouldn't spew a warning if the klass isn't a decoder or
9250 encoder (since it might be a Source/Network, for example).
9252 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9254 * tools/gst-inspect.c:
9255 (print_plugin_automatic_install_info_codecs):
9256 Don't require decoder/demuxer/depayloader elements or
9257 encoder/muxer/paylader elements to have 'Codec' as part of their
9258 factory class string when introspecting a plugin's capabilities.
9259 draft-klass.txt mentions that it might be removed in future, and
9260 flump3dec doesn't have it as part of its class string, so chances
9261 are others might also not have it.
9263 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9285 Update translations from translation project
9287 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9289 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9290 (gst_child_proxy_set_property):
9291 Invert precondition check to be alike the ones in the mimiced gobject
9294 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9296 * docs/design/draft-tagreading.txt:
9297 * docs/random/ensonic/audiobaseclasses.txt:
9298 Do some Architect work.
9300 * gst/gstobject.c: (gst_object_set_name):
9304 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9306 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9308 * gst/gstsystemclock.c: (gst_system_clock_init),
9309 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9310 Defer starting the async system clock thread until the first async
9311 wait is scheduled. Fixes #414986.
9313 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9315 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9316 (gst_single_queue_free):
9317 Fix small leak (free GstSingleQueue structure too, not only contents).
9319 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9321 * gst/gstbin.c:(gst_bin_add):
9322 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9323 * win32/common/libgstbase.def:
9324 * win32/common/libgstreamer.def:
9325 Add new exported functions.
9327 2007-03-09 Wim Taymans <wim@fluendo.com>
9329 * docs/plugins/gstreamer-plugins-sections.txt:
9332 2007-03-09 Wim Taymans <wim@fluendo.com>
9334 * docs/gst/gstreamer-sections.txt:
9335 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9337 Add metadata copy functions. Fixes #393099.
9338 API: gst_buffer_copy_metadata()
9340 * gst/gstutils.c: (gst_buffer_stamp):
9341 * libs/gst/base/gstbasetransform.c:
9342 (gst_base_transform_prepare_output_buffer):
9343 Use new metadata copy functions.
9345 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9347 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9348 (gst_identity_init), (gst_identity_check_perfect),
9349 (gst_identity_check_imperfect_timestamp),
9350 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9351 (gst_identity_set_property), (gst_identity_get_property):
9352 * plugins/elements/gstidentity.h:
9353 Separate out check-imperfect-timestamp and check-imperfect-offset.
9354 Put back check-perfect as it was to keep compatibility.
9356 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9358 * gst/gstelement.c: (gst_element_dispose):
9359 There's no need to warn if VOID_PENDING is not NONE here, as
9360 long as the state is NULL it's ok, and that's checked immediately
9363 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9365 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9366 Fix check for perfect stream to ignore buffers with -1
9367 offsets/offset ends when checking data contiguity.
9369 2007-03-08 Wim Taymans <wim@fluendo.com>
9371 * tools/gst-launch.c: (event_loop):
9372 Print INFO messages.
9374 2007-03-08 Wim Taymans <wim@fluendo.com>
9376 * libs/gst/base/gstbasetransform.c:
9377 (gst_base_transform_sink_eventfunc),
9378 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9379 (gst_base_transform_activate):
9380 * libs/gst/base/gstbasetransform.h:
9381 Add support for dropping buffers with custom GstFlowReturn.
9382 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9383 buffers or dropped buffers.
9385 * docs/libs/gstreamer-libs-sections.txt:
9386 docs for new custom return code.
9388 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9389 Use drop support in base class to implement drop-probability.
9391 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9393 * gst/gst.c: (load_plugin_func):
9394 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9395 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9396 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9397 Remove newlines at end of debug log strings.
9399 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9401 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9402 Only post bus message at max, once per buffer received.
9404 2007-03-07 Wim Taymans <wim@fluendo.com>
9406 * docs/design/Makefile.am:
9407 * docs/design/part-synchronisation.txt:
9408 Add doc about synchronisation
9410 * docs/design/draft-latency.txt:
9411 * docs/design/part-TODO.txt:
9412 * docs/design/part-clocks.txt:
9413 * docs/design/part-events.txt:
9414 * docs/design/part-gstbus.txt:
9415 * docs/design/part-gstpipeline.txt:
9416 * docs/design/part-live-source.txt:
9417 * docs/design/part-messages.txt:
9418 * docs/design/part-overview.txt:
9419 * docs/design/part-streams.txt:
9420 * docs/design/part-trickmodes.txt:
9421 Documentation updates.
9423 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9426 Update the doap file.
9428 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9430 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9431 Rename non-perfect to imperfect for Mike and for the sanctity of the
9433 Also make sure bus message gets emitted for data-incontiguities.
9435 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9437 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9438 (gst_identity_start):
9439 * plugins/elements/gstidentity.h:
9440 Emit bus message if check-perfect is true and we encounter a
9441 non-perfect stream between 2 consecutive buffers.
9444 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9449 === release 0.10.12 ===
9451 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9454 releasing 0.10.12, "Inevitable Demise"
9456 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
9459 Version 0.10.11.2 (0.10.12 pre-release)
9460 Bump libtool versioning.
9462 2007-03-01 Stefan Kost <ensonic@users.sf.net>
9464 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9465 Log flow-names and not numbers.
9467 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9470 Convert to new AG_GST style.
9472 2007-02-28 Wim Taymans <wim@fluendo.com>
9474 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9475 Don't unref query twice.
9477 2007-02-28 Wim Taymans <wim@fluendo.com>
9479 * gst/gstvalue.c: (gst_value_transform_object_string),
9480 (_gst_value_initialize):
9481 Implement GstObject -> string transform so we print object names
9482 when serializing GValues containing GstObjects.
9484 2007-02-28 Wim Taymans <wim@fluendo.com>
9486 * docs/gst/gstreamer-sections.txt:
9487 Add new stuff to docs.
9489 2007-02-28 Wim Taymans <wim@fluendo.com>
9491 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9492 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9493 (gst_base_sink_change_state):
9494 Improve latency query code.
9495 Don't leak latency events.
9497 * tests/check/gst/gstbin.c: (GST_START_TEST):
9500 2007-02-28 Wim Taymans <wim@fluendo.com>
9502 * gst/gstelement.c: (gst_element_message_full),
9503 (gst_element_get_state_func):
9505 Improve docs a little. Added Since: for new macro.
9507 * gst/gstobject.c: (gst_object_sink):
9508 * gst/gstpipeline.c: (gst_pipeline_change_state),
9509 (gst_pipeline_set_new_stream_time):
9510 * gst/gstpipeline.h:
9511 Improve debugging and docs.
9513 * gst/gstutils.c: (gst_element_state_change_return_get_name):
9516 2007-02-28 Wim Taymans <wim@fluendo.com>
9518 * gst/gstelement.c: (gst_element_message_full),
9519 (gst_element_set_locked_state), (gst_element_get_state_func),
9520 (gst_element_change_state):
9521 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9522 Documentation updates.
9523 Small code cleanups.
9525 * gst/gstmessage.c: (gst_message_new_info),
9526 (gst_message_parse_info):
9528 API: gst_message_new_info()
9529 API: gst_message_parse_info()
9530 Add INFO message create and parse code.
9532 2007-02-28 Wim Taymans <wim@fluendo.com>
9534 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9535 (bin_query_latency_done):
9536 Also report the live parameter of a latency query.
9538 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9540 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9541 Copy the current generic/states example from -base and adapt so
9542 we can use the exact same code everywhere.
9543 Check a STATES_IGNORE_ELEMENTS env var which can be used
9544 to ignore certain element factories for this test, which is
9545 what is being done in -base
9546 * tests/check/Makefile.am:
9547 Mention this environment variable.
9549 2007-02-27 Wim Taymans <wim@fluendo.com>
9551 * docs/gst/gstreamer-sections.txt:
9552 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9553 (gst_bus_timed_pop), (gst_bus_pop):
9555 API: gst_bus_timed_pop()
9556 Implement gst_bus_timed_pop() to do a blocking timed wait for a
9557 message to arrive on the bus.
9559 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9561 Two unit tests for new _timed_pop() function.
9563 2007-02-23 Wim Taymans <wim@fluendo.com>
9565 * gst/gstpipeline.c: (gst_pipeline_change_state),
9566 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9567 Don't ref a NULL clock in _provide_clock_func().
9568 Don't allow an INVALID delay.
9569 Don't try to calculate base_time with an invalid start_time.
9570 Also distribute and notify a NULL clock when it was selected.
9572 * tools/gst-launch.c: (event_loop):
9573 Don't crash when a NULL clock was selected in the pipeline.
9575 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
9577 * docs/design/Makefile.am:
9578 * docs/design/draft-missing-plugins.txt:
9579 * docs/random/draft-missing-plugins.txt:
9580 Some small updates: update plugin system identifier prefix
9581 ('gstreamer.net' to 'gstreamer'), mention our new install
9582 API in libgstbaseutils rather than libgimme-codec, add
9583 reference to the online docs.
9585 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9587 * win32/common/config.h:
9588 Pretty sure Bill never made a powerpc version. Powerpc hackers,
9589 use moap cl ci to only check in what is mentioned in the ChangeLog.
9591 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9593 * docs/gst/gstreamer-sections.txt:
9595 Fix up documentation to link to the correct GstGError section.
9596 Add GST_ELEMENT_INFO macro since someone else added a Info message.
9598 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9600 * tools/gst-launch.c: (event_loop):
9601 Make sure that we actually show the important message part of a
9603 No need to check if the gerror is not NULL to free; first of all
9604 g_free accepts NULL; and second the default error handler would
9605 segfault if gerror was NULL.
9607 2007-02-21 Wim Taymans <wim@fluendo.com>
9609 * docs/gst/gstreamer-sections.txt:
9610 Removed docs as well.
9612 2007-02-21 Wim Taymans <wim@fluendo.com>
9614 * gst/gstmessage.c: (gst_message_parse_duration):
9616 Remove new messages for release.
9618 2007-02-20 Wim Taymans <wim@fluendo.com>
9620 * docs/design/part-gstghostpad.txt:
9621 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9622 (gst_ghost_pad_new_full):
9623 Make the ghostpad a parent of the internal pad again for better backward
9624 compatibility. Don't write code that relies on this however.
9626 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9627 (gst_pad_link_check_hierarchy):
9628 Require that parents should be GstElements in the hierarchy check.
9630 2007-02-20 Wim Taymans <wim@fluendo.com>
9632 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9633 (gst_bin_change_state_func), (bin_query_min_max_init),
9634 (bin_query_latency_fold), (bin_query_latency_done),
9637 Implement latency query.
9639 2007-02-20 Wim Taymans <wim@fluendo.com>
9641 * docs/design/part-gstghostpad.txt:
9642 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9643 (gst_ghost_pad_internal_do_activate_push),
9644 (gst_ghost_pad_internal_do_activate_pull),
9645 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9646 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9647 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9648 Do not set the internal pad as a parent anymore so we can avoid
9649 hierarchy linking errors when the ghostpad has no parent yet. This also
9650 fixes failed activation because of unlinked internal pads, which in
9651 turn fixes the impossible case where you have to activate a pad before
9652 you can add it to a running element.
9655 * gst/gstpad.c: (pre_activate), (post_activate),
9656 (gst_pad_set_active), (gst_pad_activate_pull),
9657 (gst_pad_activate_push), (gst_pad_check_pull_range):
9658 Add some more debug info.
9659 Mark activation mode in pre_activate so that we don't try to activate in
9660 endless loops. Fixes #385084.
9662 2007-02-19 Wim Taymans <wim@fluendo.com>
9664 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9665 (gst_base_transform_check_get_range):
9666 Implement a checkgetrange function instead of relying on the default
9667 core behaviour that assumes we can operate in pull mode if we have a
9668 getrange function. First step at fixing #385084.
9670 2007-02-15 Stefan Kost <ensonic@users.sf.net>
9672 * gst/gstchildproxy.h:
9673 * libs/gst/base/gstbasesink.h:
9674 * libs/gst/base/gstbasesrc.h:
9675 * libs/gst/base/gstbasetransform.h:
9676 More docs coverage and some ChangeLog surgery (add missing names)
9678 2007-02-15 Wim Taymans <wim@fluendo.com>
9680 * docs/design/part-TODO.txt:
9681 * docs/design/part-activation.txt:
9682 * docs/design/part-block.txt:
9683 * docs/design/part-buffering.txt:
9684 * docs/design/part-clocks.txt:
9685 * docs/design/part-element-source.txt:
9686 * docs/design/part-events.txt:
9687 * docs/design/part-gstbin.txt:
9688 * docs/design/part-gstbus.txt:
9689 * docs/design/part-gstpipeline.txt:
9690 * docs/design/part-live-source.txt:
9691 * docs/design/part-messages.txt:
9692 * docs/design/part-overview.txt:
9693 * docs/design/part-qos.txt:
9694 * docs/design/part-query.txt:
9695 * docs/design/part-states.txt:
9696 * docs/design/part-trickmodes.txt:
9697 Some doc updates. Start renaming from stream_time to running_time where
9698 it was used wrongly.
9700 2007-02-15 Wim Taymans <wim@fluendo.com>
9702 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9703 Answer LATENCY query.
9705 2007-02-15 Wim Taymans <wim@fluendo.com>
9707 * tests/check/gst/gstevent.c: (event_probe), (test_event),
9711 2007-02-15 Wim Taymans <wim@fluendo.com>
9713 * gst/gstpad.c: (gst_pad_get_internal_links_default),
9714 (gst_pad_dispatcher):
9715 Improve debugging of default pad dispatcher and query functions.
9717 2007-02-15 Wim Taymans <wim@fluendo.com>
9719 * docs/gst/gstreamer-sections.txt:
9720 Remove old unused method.
9722 2007-02-13 Wim Taymans <wim@fluendo.com>
9724 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9727 2007-02-13 Wim Taymans <wim@fluendo.com>
9729 * docs/design/part-seeking.txt:
9732 * gst/gstsegment.c: (gst_segment_set_seek):
9733 Revert old bogus change that should make seeking work again.
9735 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9737 * docs/random/ensonic/dynlink.txt:
9738 * docs/random/ensonic/interfaces.txt:
9739 * docs/random/ensonic/receipies.txt:
9740 Possible dynamic reconnection api, plus some type fixes the other two
9743 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
9745 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9746 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9747 Also check for an absolute path following file:// in the filesrc
9748 element. Remove redundant check and call g_path_is_absolute() on the
9751 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9753 * docs/design/draft-klass.txt:
9754 Add existing category analysis.
9757 Fix doc example, framerate is a fraction.
9759 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9762 * docs/gst/Makefile.am:
9763 * docs/gst/gstreamer-sections.txt:
9764 * docs/libs/Makefile.am:
9765 Erm, forgot a bunch of --extra-dir.
9767 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9770 * docs/gst/Makefile.am:
9771 * docs/libs/Makefile.am:
9772 * docs/plugins/Makefile.am:
9773 Add crossreferences to glib/gobject docs.
9775 2007-02-12 Wim Taymans <wim@fluendo.com>
9777 * docs/design/draft-latency.txt:
9780 * docs/libs/gstreamer-libs-sections.txt:
9781 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9782 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
9783 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
9784 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
9785 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
9786 (gst_base_sink_get_position), (gst_base_sink_query),
9787 (gst_base_sink_change_state):
9788 * libs/gst/base/gstbasesink.h:
9789 API: gst_base_sink_query_latency() to let subclasses query the upstream
9791 API: gst_base_sink_get_latency() to let subclasses query the configured
9792 latency in the sink.
9793 Implement query and set latency.
9795 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
9796 don't continue preroll when we are flushing. Fixes #405284.
9798 * tests/check/pipelines/stress.c: (change_state_timeout),
9799 (quit_timeout), (GST_START_TEST), (stress_suite):
9802 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
9804 Patch by: René Stadler <mail at renestadler de>
9806 * docs/gst/gstreamer-sections.txt:
9807 * gst/gsttaglist.c: (_gst_tag_initialize):
9809 API: add GST_TAG_REFERENCE_LEVEL (#403597).
9811 2007-02-11 Stefan Kost <ensonic@users.sf.net>
9813 * docs/libs/Makefile.am:
9814 Fix path to core docs.
9816 * gst/gstbin.c: (gst_bin_get_by_interface),
9817 (gst_bin_iterate_all_by_interface):
9818 Refix docs by also renaming 'interface' to 'iface' in implementation.
9820 * docs/gst/gstreamer-sections.txt:
9822 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
9823 * gst/gstchildproxy.h:
9824 * gst/gstelementfactory.c:
9825 * gst/gstpadtemplate.h:
9826 * libs/gst/controller/gstcontroller.c:
9827 (gst_controlled_property_new):
9830 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
9832 * gst/gstbin.h:(gst_bin_get_by_interface),
9833 (gst_bin_iterate_all_by_interface):
9834 Replace interface parameter name by iface as interface is
9835 a reserved keyword in Visual Studio for C++ projects so it removes
9836 a build error for application developpers using VS.
9837 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
9838 Fix a bug on Windows in uri format check. Now the prefix checked
9839 is file:// and next we check if the path after file:// is absolute.
9840 * win32/common/libgstbase.def:
9841 * win32/common/libgstdataprotocol.def:
9842 * win32/common/libgstgstreamer.def:
9843 Add new exported functions.
9845 2007-02-09 Andy Wingo <wingo@pobox.com>
9847 * tests/check/pipelines/simple-launch-lines.c
9848 (simple_launch_lines_suite, test_tee): Disable tee test until I
9849 have time to fix it :-(
9851 * tests/check/Makefile.am (noinst_HEADERS):
9852 * tests/check/libs/libsabi.c:
9853 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
9854 * tests/check/gst/gstabi.c:
9855 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
9857 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
9858 tests for push and pull tee behavior.
9860 * plugins/elements/gsttee.h:
9861 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
9862 mark as deprecated as well as unimplemented. It was a crack idea.
9863 Add support for tee operating in pull mode, off by default.
9865 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
9866 normal-case logs down to LOG, raise errors to WARNING.
9867 (gst_registry_xml_read_cache): Don't log before calling a function
9870 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
9871 exit (registry finalize).
9872 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
9873 DEBUG log when we emit signals that people don't even have the
9874 chance to connect to.
9875 (gst_registry_scan_path_level): Less logging in the normal case.
9877 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
9879 Patch by: Michal Benes <michal dot benes at itonis dot tv>
9881 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9882 Correctly generate EOS for non-seekable files. We don't have a total
9883 length for them and would get an unexpected end of file if we only
9884 special-cased for regular files. (Fixes: #404569)
9886 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
9888 * tests/check/elements/filesrc.c: (GST_START_TEST),
9890 Add unit test for the GstURIHandler interface in filesrc. This also
9891 tests the newly added file://localhost/foo/bar support.
9893 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
9895 * gst/gstelementfactory.h:
9896 The klass string is not a hierarchy. Add reference to the design doc
9897 for more information and common types.
9899 2007-02-02 Wim Taymans <wim@fluendo.com>
9901 * gst/gstquery.c: (gst_query_new_latency):
9902 Remove old structure field.
9904 2007-02-02 Stefan Kost <ensonic@users.sf.net>
9906 * tools/gst-launch.1.in:
9907 Give example for network streaming (#351998)
9909 2007-02-02 Wim Taymans <wim@fluendo.com>
9911 * docs/gst/gstreamer-sections.txt:
9912 Add docs for new methods.
9914 * gst/gstevent.c: (gst_event_new_latency),
9915 (gst_event_parse_latency):
9917 Add new LATENCY event to configure latency in a pipeline.
9918 API: gst_event_new_latency
9919 API: gst_event_parse_latency
9921 * gst/gstmessage.c: (gst_message_new_buffering),
9922 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
9923 (gst_message_new_latency), (gst_message_parse_buffering),
9924 (gst_message_parse_lost_preroll):
9926 Added messages used in draft-latency.
9927 API: gst_message_new_lost_preroll
9928 API: gst_message_parse_lost_preroll
9929 API: gst_message_new_prerolled
9930 API: gst_message_new_latency
9932 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
9933 (gst_query_parse_latency):
9935 Implemented new latency query as in design doc.
9936 API: gst_query_new_latency
9937 API: gst_query_set_latency
9938 API: gst_query_parse_latency
9940 2007-02-02 Wim Taymans <wim@fluendo.com>
9942 * docs/design/draft-latency.txt:
9943 Slight redesign to allow for dynamic latency adjustments.
9945 * docs/design/part-negotiation.txt:
9948 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
9950 reviewed by: Wim Taymans <wim@fluendo.com>
9952 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9953 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9954 Allow file://localhost/foo/bar URLs and correctly fail for every other
9955 hostname that one sets. This was gnomevfssrc is linked for those if
9956 installed as it can handle it (#403172)
9958 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
9960 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9962 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9963 (unref_data), (gst_collect_pads_add_pad_full):
9964 * libs/gst/base/gstcollectpads.h:
9965 Don't put the previously added destroy notify in the GstCollectData
9966 struct as all it's padding is already used and we don't want to break
9967 ABI. Instead put in the pad's GObject data for now. This should be
9968 cleaned up for 0.11 (#402393).
9970 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
9972 reviewed by: Wim Taymans <wim@fluendo.com>
9974 * docs/libs/gstreamer-libs-sections.txt:
9975 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9976 (unref_data), (gst_collect_pads_add_pad),
9977 (gst_collect_pads_add_pad_full):
9978 * libs/gst/base/gstcollectpads.h:
9979 API: Add function to specify a destroy notification for custom
9980 GstCollectData when adding new pads in GstCollectPads (#402393).
9982 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
9985 Update Swedish translation (#378255).
9987 2007-01-31 Stefan Kost <ensonic@users.sf.net>
9989 * docs/design/draft-klass.txt:
9990 Fix the previous change, this is a list of categories and not a hierarchy.
9992 2007-01-31 Stefan Kost <ensonic@users.sf.net>
9994 * docs/design/draft-klass.txt:
9995 Add info about how to get a list of used classes.
9997 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
9999 * plugins/elements/gsttypefindelement.c:
10000 (gst_type_find_element_chain_do_typefinding),
10001 (gst_type_find_element_change_state):
10002 Don't leak found caps in chain function (no idea why that never
10003 showed up as a leak anywhere).
10005 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10008 Fix and expand GstPluginDesc API docs.
10010 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10013 * gst/gstelementfactory.c:
10014 * gst/gstpadtemplate.h:
10017 * libs/gst/controller/gstcontroller.c:
10018 (gst_controlled_property_new):
10019 * tests/examples/controller/audio-example.c:
10022 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10025 comment about refining the xml deps
10027 * docs/manuals.mak:
10028 comments about moving away from jade for docs
10031 recommit the ifdefs to use the binary registry
10033 * gst/gstbin.c: (gst_bin_change_state_func):
10034 this break is obsolete
10036 * gst/gstelementfactory.h:
10037 better GST_ELEMENT_DETAILS docs, add comment about translation
10042 * gst/gstobject.c: (gst_signal_object_get_type):
10043 add G_UNLIKELY as usual
10045 * gst/gstpad.c: (gst_pad_event_default):
10046 add fall trhu comment
10048 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10049 (gst_registry_binary_initialize_magic),
10050 (gst_registry_binary_save_string),
10051 (gst_registry_binary_save_pad_template),
10052 (gst_registry_binary_save_feature),
10053 (gst_registry_binary_save_plugin),
10054 (gst_registry_binary_write_cache),
10055 (gst_registry_binary_check_magic),
10056 (gst_registry_binary_load_pad_template),
10057 (gst_registry_binary_load_feature),
10058 (gst_registry_binary_load_plugin),
10059 (gst_registry_binary_read_cache):
10060 comment typo and formatting
10062 * gst/gstutils.c: (gst_element_state_get_name),
10063 (gst_element_state_change_return_get_name):
10064 remove obsolete breaks
10066 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10067 add FIXME 0.11 and remove cpp comment
10069 2007-01-29 Edward Hervey <edward@fluendo.com>
10071 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10072 Fix print statement in an even more portable way.
10074 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10076 * docs/gst/gstreamer-sections.txt:
10078 API: add GST_ROUND_DOWN_* macros (#401781).
10080 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10082 * docs/gst/gstreamer.types.in:
10083 * gst/gstregistry.c: (gst_registry_class_init):
10084 Document registry signals and make gtk-doc pick them up (#401381).
10086 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10088 * docs/pwg/building-testapp.xml:
10089 Add some audioconverts and audioresample to the pipeline, and some
10090 more comments and error handling.
10092 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10094 * docs/manual/manual.xml:
10095 * docs/pwg/pwg.xml:
10096 Fix typo (#400987).
10098 2007-01-26 Wim Taymans <wim@fluendo.com>
10100 * gst/gstcaps.c: (gst_static_caps_get):
10101 Init caps flags too.
10103 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10105 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10107 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10108 If not using mmap'ed files try to seek to the end instead of the
10109 start to determine whether we can seek at all. This fixes the case
10110 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10111 seeks for everything afterwards fail. Fixes #400656
10113 2007-01-25 Wim Taymans <wim@fluendo.com>
10115 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10116 Add some refcount debugging.
10117 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10118 in multiple streaming threads.
10120 2007-01-25 Wim Taymans <wim@fluendo.com>
10122 Patch by: David Schleef <ds at schleef dot org>
10124 * docs/libs/gstreamer-libs-sections.txt:
10125 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10126 * libs/gst/base/gstadapter.h:
10127 API: gst_adapter_copy() that can reduce the amount of memcpy when
10128 getting data from the adapter. Fixes #388201.
10130 2007-01-25 Edward Hervey <edward@fluendo.com>
10132 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10133 In print statements, "%x" is for guint. Fixes build on macosx.
10135 2007-01-24 Edward Hervey <edward@fluendo.com>
10137 * plugins/elements/gstmultiqueue.c:
10138 (gst_multi_queue_loop):
10140 (single_queue_overrun_cb), (single_queue_underrun_cb),
10141 (single_queue_check_full), (gst_single_queue_new):
10142 Implement single queue growth system.
10143 This uses the extra-size properties, and will grow single queues by
10144 that much if one goes full whereas there are others empty. This is
10145 called extra-mode in the code.
10146 When a single queue's levels go back below the initial max-size
10147 limits, it is no longer in extra-mode. This is to ensure we don't
10148 consume too much memory.
10151 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10153 * gst/gst.c: (gst_init_get_option_group):
10154 Make warning about late g_thread_init() calls a bit more explicit,
10155 so that it's more obvious to application developers what they need
10156 to do if a user files a bug against their application.
10158 2007-01-22 Edward Hervey <edward@fluendo.com>
10160 * plugins/elements/gstmultiqueue.c:
10161 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10162 Remove previous hack of unsetting the flushing flag for the source pad
10163 instead of activating it. Instead, fix the source pad activate function
10164 so that it no longer depends on having a parent set or not.
10166 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10168 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10170 * docs/manual/basics-bus.xml:
10171 Fix example code, gst_element_unref() doesn't exist any longer.
10173 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10175 Patch by: Mark Nauwelaerts <manauw at skynet be>
10178 Fix two docs typoes (#399094).
10180 2007-01-19 Edward Hervey <edward@fluendo.com>
10182 * docs/faq/gst-uninstalled:
10183 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10184 depending on libgstbaseutils can work in uninstalled environment.
10186 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10188 * gst/gsttaglist.h:
10189 * gst/gsttagsetter.c:
10190 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10191 statement for new tag.
10193 2007-01-17 Edward Hervey <edward@fluendo.com>
10195 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10196 When dynamically creating single queues, activate sinkpad before adding
10198 We should be doing the same thing for the source pad, but we can't
10199 since it would call a method which needs the parent to be set in order
10200 to work propertly. Instead of activating the source pad, we just unset
10201 the flushing flag, which is the minimal requirement for adding a pad
10202 to an element in a state greater than READY.
10204 2007-01-17 Edward Hervey <edward@fluendo.com>
10206 * docs/faq/gst-uninstalled:
10207 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10210 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10212 * tests/check/gst/gstabi.c:
10213 * tests/check/gst/struct_hppa.h:
10214 * tests/check/libs/libsabi.c:
10215 * tests/check/libs/struct_hppa.h:
10216 Add ABI structs for HPPA (see #393796).
10218 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10220 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10221 Actually write ABI structs to the file specified in the GST_ABI
10222 environment variable, as the message we print claims we would.
10224 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10226 * tests/check/gst/gsttask.c:
10227 Fix header comment.
10229 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10231 * gst/gsttaglist.c: (_gst_tag_initialize):
10232 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10233 previous two entries.
10235 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10237 * docs/gst/gstreamer-sections.txt:
10238 * gst/gsttaglist.c: (_gst_tag_initialize):
10239 * gst/gsttaglist.h:
10240 Add tag support for beat-per-minute.
10242 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10244 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10245 (gst_registry_binary_initialize_magic),
10246 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10247 (gst_registry_binary_save_pad_template),
10248 (gst_registry_binary_save_feature),
10249 (gst_registry_binary_save_plugin),
10250 (gst_registry_binary_write_cache),
10251 (gst_registry_binary_check_magic),
10252 (gst_registry_binary_load_pad_template),
10253 (gst_registry_binary_load_feature),
10254 (gst_registry_binary_load_plugin),
10255 (gst_registry_binary_read_cache):
10256 * gst/gstregistrybinary.h:
10257 Use glib types, cleanup comments, impement interfaces and uri-types.
10259 2007-01-13 Andy Wingo <wingo@pobox.com>
10261 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10262 getrange() to return buffers with other caps, while we fix
10263 demuxers and typefind, or otherwise change part-negotiation.txt.
10265 2007-01-12 Andy Wingo <wingo@pobox.com>
10267 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10268 Factor start/stop into this private function instead of partially
10269 in activate functions and partially in the change_state function.
10270 Fixes setup before the element has changed from READY->PAUSED, as
10271 is the case in pull-mode pipelines.
10272 (gst_base_transform_sink_activate_push)
10273 (gst_base_transform_src_activate_pull): Refactor to use
10274 gst_base_transform_activate().
10275 (gst_base_transform_change_state): Removed, not needed any more.
10277 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10278 Truncate before fixating.
10280 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10281 Don't set_caps() if the result of fixating is ANY, as it's not
10282 supported, and not necessary in the case of a link with no
10283 template caps on either side. Fixes tests/check/libs/basesrc in
10284 some pull-mode tests.
10286 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10287 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10288 (gst_base_transform_src_activate_pull):
10289 Track the activation mode.
10290 (gst_base_transform_setcaps): In pull mode, when activating the
10291 src pad, after activating the sink pad, activate the sink pad's
10292 peer, as discussed in part-negotiation.txt.
10294 * libs/gst/base/gstbasesrc.h:
10295 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10296 vmethod, as in basesink.
10298 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10300 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10301 mode, first proxy the setcaps to the peer pad.
10302 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10303 new fixate vmethod.
10304 (gst_base_sink_default_activate_pull): Rename from
10305 gst_base_sink_activate_pull.
10306 (gst_base_sink_negotiate_pull): New function, performs negotiation
10307 in pull mode before calling ::activate_pull().
10308 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10309 vmethod instead of the default implementation. I have no idea how
10310 this worked before. Negotiate before calling activate_pull.
10312 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10313 sink pads in pull mode. In addition to being correct, fixes
10314 filesrc ! decodebin ! identity ! fakesink.
10315 (gst_pad_get_range, gst_pad_pull_range): Don't call
10316 gst_pad_set_caps() if the caps changes; instead error out with
10317 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10319 2007-01-12 Andy Wingo <wingo@pobox.com>
10321 * docs/design/part-negotiation.txt: Update with more policy.
10323 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10325 * libs/gst/check/gstbufferstraw.h:
10326 * libs/gst/check/gstcheck.h:
10327 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10330 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10332 * tests/check/Makefile.am:
10333 * tests/check/gst/.cvsignore:
10334 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10335 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10336 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10337 (GST_START_TEST), (gst_tag_setter_suite):
10338 Add minimal unit test for beforementioned GstTagSetter bug.
10340 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10342 Patch by: René Stadler <mail at renestadler dot de>
10344 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10345 gst_tag_list_merge() returns a new list, so it's not the best idea
10346 to ingore its return value. Effectively meant that tags could only
10347 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10348 Also add function guard to require a non-NULL taglist as input (has
10349 always been so due to gst_tag_list_copy(), just making it explicit).
10351 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10353 * docs/random/draft-missing-plugins.txt:
10354 Some additions: mention new API that is supposed to be used at the
10355 various stages; short blob about new gst-inspect introspection
10356 option; mention potential future problem with plugins that have
10357 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10359 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10361 * tools/gst-inspect.c:
10362 (print_plugin_automatic_install_info_codecs),
10363 (print_plugin_automatic_install_info_protocols),
10364 (print_plugin_automatic_install_info), (main):
10365 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10366 introspect plugin files and get machine-parsable output that corresponds
10367 to the last bit of the missing-plugin installer string (small gotcha:
10368 doesn't take into account ranks).
10370 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10373 * docs/gst/gstreamer-sections.txt:
10375 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10376 (gst_registry_lookup_locked):
10377 * gst/gstregistry.h:
10378 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10379 (gst_registry_binary_initialize_magic),
10380 (gst_registry_binary_save_string),
10381 (gst_registry_binary_save_pad_template),
10382 (gst_registry_binary_save_feature),
10383 (gst_registry_binary_save_plugin),
10384 (gst_registry_binary_write_cache),
10385 (gst_registry_binary_check_magic),
10386 (gst_registry_binary_load_pad_template),
10387 (gst_registry_binary_load_feature),
10388 (gst_registry_binary_load_plugin),
10389 (gst_registry_binary_read_cache):
10390 * gst/gstregistrybinary.h:
10391 * gst/gstregistryxml.c: (load_feature),
10392 (gst_registry_xml_read_cache):
10393 commit binary registry (disabled by default, see #359653)
10395 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10397 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10398 Fix 'make check' too.
10400 2007-01-10 Andy Wingo <wingo@pobox.com>
10402 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10405 * docs/design/part-negotiation.txt: Update with, um, one way that
10406 pull-mode negotiation might work?
10409 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10410 that the pad must be a src pad; makes sense to call it the other
10411 way in pull mode, and the logic is symmetric anyway.
10413 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10415 * plugins/elements/gstfilesink.c:
10416 Include <stdio.h> for fseeko().
10418 2007-01-10 Wim Taymans <wim@fluendo.com>
10422 Reserve LATENCY event.
10424 2007-01-09 Wim Taymans <wim@fluendo.com>
10426 * docs/design/draft-latency.txt:
10429 2007-01-09 Wim Taymans <wim@fluendo.com>
10431 * docs/design/draft-latency.txt:
10434 * gst/gstelement.h:
10435 * gst/gststructure.c:
10439 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
10441 * tests/check/.cvsignore:
10442 Ignore test-registry.xml as well.
10444 2007-01-09 Wim Taymans <wim@fluendo.com>
10446 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10447 unref data at the end when we are done with the pad.
10449 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10451 * docs/gst/gstreamer-sections.txt:
10452 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10453 (init_post), (gst_deinit), (gst_update_registry):
10455 API: add gst_update_registry() (#391296).
10457 * tests/check/Makefile.am:
10458 * tests/check/gst/gstregistry.c:
10459 * tests/check/gst/.cvsignore:
10460 Simple unit test for the above.
10462 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10464 * gst/gstregistry.c: (gst_registry_scan_path_level):
10465 Plugin extension on HP-UX is .sl, add that to the list of approved
10466 plugin extensions (see #393796).
10468 * tests/check/gst/gstpad.c: (GST_START_TEST):
10469 ulong => gulong. Fixes compilation with HP-UX compiler.
10471 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10472 Fix compilation if valgrind headers are not available.
10474 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
10476 * win32/common/libgstreamer.def:
10477 Add new exported function.
10478 * win32/vs6/libgstbase.dsp:
10479 Add gstdataqueue.c to the build.
10480 * win32/vs6/libgstcoreelements.dsp:
10481 Add gstmultiqueue.c to the build.
10483 2007-01-06 Andy Wingo <wingo@pobox.com>
10485 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10486 activate_pull(), providing for a way to specialize the process of
10487 spawning a thread to pull on the sink pad. There is a default
10490 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10491 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10492 (gst_base_sink_init): Renamed pad activation functions (inserting
10493 "_pad" in their names). Refactor to use the new activate_pull
10494 vmethod, as appropriate.
10495 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10496 default activate_pull function to start a task pulling from the
10497 sink pad, as before.
10499 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10500 on the pads if necessary, as in push()/chain(). Update docs.
10501 Shouldn't affect existing pull() usage as it is currently only
10502 being used on buffers without caps.
10504 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10506 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10508 Call g_thread_init() first thing in gst_init() / gst_check_init().
10509 When initialisation is done via gst_init_get_option_group() and
10510 GOption parsing, issue a warning if the GLib thread system has not
10511 been initialised yet by the time gst_init_get_option_group() is
10512 called, as it's quite likely other GLib functions such as
10513 g_option_context_new() have been called already then, and
10514 g_thread_init() must be called before any other GLib function. The
10515 application in question must be fixed in that case, since memory
10516 corruption might happen otherwise.
10517 We issue the warning because even if the GLib folks decide to work
10518 around the problem on their end in future, this is still an issue
10519 with all GLib versions >= 2.10.0, so we should warn until we depend
10520 on a GLib version we know to be safe.
10521 Update documentation as well.
10522 Closes bug #391278.
10524 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10526 * tools/gst-inspect.c: (main):
10527 * tools/gst-launch.c: (main):
10528 * tools/gst-typefind.c: (main):
10529 * tools/gst-xmlinspect.c: (main):
10530 Call g_thread_init() really really early, before any other GLib
10531 function (see #342564 and recent discussion on gtk-devel-list).
10533 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10535 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
10537 * gst/gst_private.h:
10538 * gst/gstconfig.h.in:
10540 On win32, all the __declspec stuff for symbol exporting is
10541 apparently only needed with MSVC, but doesn't work with MingW.
10542 Fixes compilation with MingW and #391909.
10544 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10546 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10547 Change some GST_ERROR_OBJECT that aren't really errors to
10548 GST_WARNING_OBJECT in order to reduce terminal spam.
10550 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10552 * tests/check/Makefile.am:
10553 disable test again, as there seem to be still race problems
10555 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10557 * tests/check/Makefile.am:
10558 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10559 (GST_START_TEST), (queue_suite):
10560 enable queue test again, add tests for the leaky behaviour
10562 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
10565 * tests/examples/Makefile.am:
10566 Compile adapter test/example only if the required headers are
10567 available (fixes #391915).
10569 2007-01-01 David Schleef <ds@schleef.org>
10572 Restore the previous signal handler for SIGSEGV instead of
10573 setting to default, since we may have stolen it away from
10574 someone. (i.e., Mono)
10576 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10578 * docs/random/draft-missing-plugins.txt:
10579 Some small additions and clarifications.
10581 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10583 * gst/gstregistryxml.c: (gst_registry_save_escaped):
10584 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10585 since that can lead to random memory corruptions and crashes
10586 (may or may not be related to #383244, #386711, and #386711).
10588 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10590 * tests/check/.cvsignore:
10591 * tests/check/Makefile.am:
10592 sync .cvsignome and CLEANFILES
10594 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10596 * tests/check/Makefile.am:
10599 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10601 * docs/design/part-states.txt:
10602 two tiny additional comments
10604 * gst/gststructure.c:
10607 * tests/check/Makefile.am:
10608 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10610 disable test for now, unless it gets fixed
10612 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10614 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10616 fix race in underrun test
10618 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10620 * tests/check/elements/.cvsignore:
10623 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10625 try to narrow test failure
10627 2006-12-21 David Schleef <ds@schleef.org>
10629 * plugins/elements/gstfakesrc.c:
10630 Use g_random_int_range(), since it produces better random
10631 numbers in a range than almost-correct floating point code.
10633 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10635 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10636 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10637 (gst_check_teardown_sink_pad):
10638 do not automatically (de)activate pads
10640 * tests/check/Makefile.am:
10641 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10642 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10643 add new, yet simple tests for queue
10645 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10646 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10647 * tests/check/elements/filesrc.c: (cleanup_filesrc),
10649 * tests/check/elements/identity.c: (cleanup_identity):
10650 consistent pad (de)activation
10652 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
10654 Patch by: Sebastian Dröge <slomo ubuntu com>
10656 * libs/gst/base/gstcollectpads.c:
10657 Fix two doc typos (#387866).
10659 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10661 * docs/manual/advanced-dparams.xml:
10662 Fix typo (g_object_control_properties() doesn't exist).
10664 2006-12-19 Edward Hervey <edward@fluendo.com>
10666 * gst/gstsegment.c: (gst_segment_set_seek):
10667 Fine tune the cases where the segment start/stop values are really
10669 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10670 Add tests for the return values of gst_segment_set_seek().
10672 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10677 * plugins/elements/gstqueue.c: (gst_queue_class_init),
10679 Fix incorrect documentation and flesh it out a bit more.
10680 Set default values for the max properties on the GParamSpec as well,
10681 so it shows up correctly in gst-inspect.
10683 2006-12-18 Stefan Kost <ensonic@users.sf.net>
10685 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10686 Correct docs of queue, add more detail and crosslink it more.
10688 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10690 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10691 Print additional debug info when the stream isn't perfectly
10692 timestamped; don't try to use invalid durations.
10694 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10696 * docs/design/Makefile.am:
10697 Dist new design docs.
10699 2006-12-16 Wim Taymans <wim@fluendo.com>
10701 Patch by: Sjoerd Simons <sjoerd at luon dot net>
10703 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10704 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10705 (gst_collect_pads_stop), (gst_collect_pads_event),
10706 (gst_collect_pads_chain):
10707 * libs/gst/base/gstcollectpads.h:
10708 Add refcounting to the collectpads data so we can track when it's safe
10709 to free the data. Fixes #383382.
10711 2006-12-15 Wim Taymans <wim@fluendo.com>
10713 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10714 (gst_collect_pads_remove_pad):
10715 Automatically activate/deactivate pads when they are added to a
10716 started/stoped collectpads.
10718 2006-12-15 Wim Taymans <wim@fluendo.com>
10720 * gst/gstelement.c: (gst_element_add_pad):
10721 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10722 * gst/gstpad.c: (gst_pad_init):
10723 Set pads to FLUSHING when they are created. Check, warn and fix when a
10724 demuxer adds an inactive pad to itself when running. Fixes #339326.
10726 2006-12-15 Wim Taymans <wim@fluendo.com>
10728 * gst/gstelement.c: (gst_element_class_init),
10729 (gst_element_default_send_event), (gst_element_send_event),
10730 (gst_element_default_query), (gst_element_query):
10731 Expose default element send_event and query handling as vmethods that
10732 subclasses can chain up to.
10734 2006-12-15 Wim Taymans <wim@fluendo.com>
10736 * gst/gstelement.c: (gst_element_set_state_func):
10737 Small documentation fixes.
10739 2006-12-15 Wim Taymans <wim@fluendo.com>
10741 * docs/design/draft-latency.txt:
10742 Checked in draft for handling latency in pipelines.
10744 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
10748 * gstreamer.spec.in:
10751 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
10753 * gst/gst.c: (init_pre), (init_post):
10754 init_pre() and init_post() might be called via our GOptionGroup or
10755 from gst_init(), and we should skip both of them if we've already
10756 been initialised, otherwise we will init some things twice or add
10757 two default log functions.
10759 2006-12-13 Edward Hervey <edward@fluendo.com>
10761 * docs/manual/basics-bus.xml:
10762 No, gst_main_loop does not exist. Its g_main_loop.
10763 Discovered by somebody who abused the copy-paste technique of coding :)
10765 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
10767 * gst/gstghostpad.c:
10768 Log ghostpad debug stuff to the GST_PADS category as well rather
10769 than just to the default category.
10771 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
10774 * gst/gst.c: (init_pre):
10775 Add some basic system details such as OS and architecture
10776 to the debug output if possible, courtesy of uname().
10778 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
10780 * docs/gst/running.xml:
10781 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
10782 environment variables.
10784 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
10786 * tests/check/gst/gstbin.c: (GST_START_TEST):
10787 It is acceptable to have a refcount of 2 or 3 at this point in the
10788 test, because the pipeline might be just posting its state_change
10789 message. The next line then waits for that message to appear using
10790 bus_poll, so that should be fine too.
10792 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
10794 * gst/gst.c: (ensure_current_registry_forking):
10795 Ignore EINTR when reading from the child registry pipe.
10796 Explicitly ignore the return value from close, since it makes no
10799 * gst/gstminiobject.c: (gst_mini_object_ref),
10800 (gst_mini_object_unref):
10801 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10803 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10804 When removing cached plugins, remove their features too, so they're
10805 not visible after they've disappeared.
10807 * gst/gstutils.c: (prepare_link_maybe_ghosting):
10808 In the unlikely case that we are linking pads with no parents, don't
10809 crash trying to get the non-existent parent bin.
10811 * gst/parse/grammar.y:
10812 Output debug in the PIPELINE category
10814 2005-03-08 Wim Taymans <wim@fluendo.com>
10816 Patch by: René Stadler <mail at renestadler dot de>
10818 * gst/gstclock.c: (gst_clock_new_periodic_id):
10819 Reject invalid clock times for interval of periodic ids.
10822 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
10824 * gst/gstelementfactory.c: (gst_element_factory_create):
10825 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10826 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10827 * tools/gst-inspect.c: (print_element_info):
10828 Fix refcounting of gst_plugin_feature_load to match the docs.
10831 2006-12-07 Wim Taymans <wim@fluendo.com>
10833 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
10834 (gst_base_sink_get_position):
10835 Improve debugging of events.
10837 2006-12-07 Wim Taymans <wim@fluendo.com>
10839 Patch by: René Stadler <mail at renestadler dot de>
10841 * gst/gstclock.c: (gst_clock_id_wait):
10842 Make period ids add the interval to the origial requested time instead
10843 of the possibly updated time which can be wrong when there are multiple
10844 waiters for the same id. Fixes #382592.
10846 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
10847 (gst_system_clock_id_wait_jitter_unlocked),
10848 (gst_system_clock_id_wait_jitter):
10849 Fix restart in the async notify thread when an async entry is added to
10850 the front of the list. Fixes #381492.
10852 * tests/check/gst/gstsystemclock.c: (store_callback),
10853 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
10854 Added test for multiple async waits.
10855 Added test for async wait order.
10857 2006-12-07 Wim Taymans <wim@fluendo.com>
10859 * gst/gstbin.c: (gst_bin_query):
10860 Add some more docs about the POSITION query.
10862 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
10865 Bump version nano - back to CVS.
10867 === release 0.10.11 ===
10869 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
10872 releasing 0.10.11, "Love never runs on time"
10874 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
10876 * win32/common/libgstbase.def:
10877 * win32/common/libgstreamer.def:
10878 * win32/vs8/libgstbase.vcproj:
10879 * win32/vs8/libgstcoreelements.vcproj:
10880 * win32/vs8/libgstreamer.vcproj:
10881 Fix compilation on win32 under VS8
10882 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10883 Partially fixes #381175
10885 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
10887 * gst/gstvalue.c: (gst_value_compare_fraction):
10888 If someone is foolish enough to compare 2 fractions with denominator =
10889 0, return UNORDERED rather than aborting.
10891 2006-11-28 Edward Hervey <edward@fluendo.com>
10893 * libs/gst/base/Makefile.am:
10894 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
10895 (gst_data_queue_base_init), (gst_data_queue_class_init),
10896 (gst_data_queue_init), (gst_data_queue_new),
10897 (gst_data_queue_cleanup), (gst_data_queue_finalize),
10898 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
10899 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
10900 (gst_data_queue_is_empty), (gst_data_queue_is_full),
10901 (gst_data_queue_set_flushing), (gst_data_queue_push),
10902 (gst_data_queue_pop), (gst_data_queue_drop_head),
10903 (gst_data_queue_set_property), (gst_data_queue_get_property):
10904 * libs/gst/base/gstdataqueue.h:
10905 New GstDataQueue object for threadsafe queueing. Most useful for
10906 elements that need some queueing functionnality.
10907 * docs/libs/gstreamer-libs-docs.sgml:
10908 * docs/libs/gstreamer-libs-sections.txt:
10909 Insert documentation for GstDataQueue
10910 * plugins/elements/Makefile.am:
10911 * plugins/elements/gstelements.c:
10912 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
10913 (gst_multi_queue_class_init), (gst_multi_queue_init),
10914 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
10915 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
10916 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
10917 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
10918 (gst_multi_queue_loop), (gst_multi_queue_chain),
10919 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
10920 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
10921 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
10922 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
10923 (wake_up_next_non_linked), (compute_next_non_linked),
10924 (single_queue_overrun_cb), (single_queue_underrun_cb),
10925 (single_queue_check_full), (gst_single_queue_new):
10926 * plugins/elements/gstmultiqueue.h:
10927 New multiqueue element, using GstDataQueue. Used for queuing multiple
10929 Closes #344639 and #347785
10931 2006-11-22 Stefan Kost <ensonic@users.sf.net>
10933 * docs/pwg/advanced-types.xml:
10934 add more missing type details
10936 * tools/gst-run.c: (main):
10937 remove unused variable
10939 2006-11-21 Stefan Kost <ensonic@users.sf.net>
10941 * docs/libs/Makefile.am:
10942 * docs/libs/gstreamer-libs.types:
10943 add types of base classes to enable gobject specific stuff in the docs
10945 * docs/random/ensonic/embedded.txt:
10946 more ideas about isolating platform specific things
10948 2006-11-20 Wim Taymans <wim@fluendo.com>
10950 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
10952 * libs/gst/check/gstcheck.h:
10953 Fix compilation and running against 0.9.4. Fixes #377332.
10955 2006-11-20 Wim Taymans <wim@fluendo.com>
10957 * gst/gstsegment.c: (gst_segment_set_seek),
10958 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10959 (gst_segment_to_running_time):
10960 Fix boundary checking in to_running_time() and to_stream_time().
10963 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10964 stream and running time can now be calculated for the complete
10967 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
10969 * gst/gstpad.c: (gst_pad_push_event):
10970 Can't access event structure after giving away ownership of
10973 2006-11-15 Stefan Kost <ensonic@users.sf.net>
10975 * docs/random/ensonic/embedded.txt:
10976 * docs/random/ensonic/profiling.txt:
10977 * docs/random/ensonic/receipies.txt:
10980 2006-11-13 Wim Taymans <wim@fluendo.com>
10982 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10985 Fix documentation for gst_pad_dispatcher. Fixes #374475.
10987 2006-11-13 Wim Taymans <wim@fluendo.com>
10989 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
10991 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10992 Store new length in segment duration so we don't keep on calling the
10993 potentially expensize get_size() call. Fixes #370865.
10995 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
10997 Patch by: Sergey Scobich <sergey.scobich at gmail com>
10999 * win32/common/libgstreamer.def:
11000 Add two missing symbols (#366492).
11002 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11004 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11005 (gst_adapter_take_buffer):
11006 Fix format string to use all its arguments.
11007 Remove useless >= check on a guint
11009 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11011 * tests/examples/adapter/.cvsignore:
11012 Ignore build file as commanded by the build-bot
11014 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11016 * tests/examples/adapter/Makefile.am:
11017 * tests/examples/adapter/adapter_test.c: (run_test_take),
11018 (run_test_take_buffer), (run_tests), (main):
11020 Add new files from the previous commit
11022 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11026 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11027 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11028 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11029 * libs/gst/base/gstadapter.h:
11030 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11031 (GST_START_TEST), (gst_adapter_suite):
11032 * tests/examples/Makefile.am:
11033 Do some optimisation work in GstAdapter to avoid copies in more cases.
11034 It could still do slightly better by merging buffers when
11035 gst_buffer_is_span_fast is true, but is already faster.
11037 Also, avoid traversing a single-linked list to append each incoming
11038 buffer inside the adapter.
11040 Add simple test app that times the adapter behaviour in different
11041 situations, and extend the unit test to check that bytes enter and
11042 exit the adapter in their original order.
11044 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11046 * docs/random/draft-missing-plugins.txt:
11047 Update: use element message instead of adding a new message
11048 type to the core; don't provide GStreamer API to initiate the
11049 plugin download, just provide API to compose the strings needed
11050 and let an external libgimmestuff handle the rest.
11052 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11054 * tools/gst-inspect.c: (print_element_properties_info):
11055 Print a string instead of 'unknown type' for GValueArray properties
11057 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11059 * docs/random/draft-missing-plugins.txt:
11062 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11064 * tests/examples/typefind/typefind.c: (type_found), (main):
11065 Make typefind element example work again (#371894); add a
11068 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11070 * docs/random/draft-missing-plugins.txt:
11071 Commit initial draft about how to deal with missing plugins,
11072 needs work (API too).
11074 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11076 * docs/pwg/advanced-types.xml:
11077 documents the new caps elements (see #363118)
11079 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11081 * gst/gstplugin.c: (gst_plugin_load_file):
11082 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11083 (gst_file_src_map_region), (gst_file_src_start):
11084 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11085 (gst_file_index_commit):
11086 Use g_strerror() instead of strerror() - we want UTF-8.
11088 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11090 Patch by: Peter Kjellerstedt <pkj at axis com>
11092 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11093 Another printf fix (#371493).
11095 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11097 * tests/check/gst/gsttag.c:
11098 relicence (okay with author=company)
11100 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11102 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11103 (gst_pad_push_event):
11104 Enhance debug and improve docs
11109 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11111 * docs/random/ensonic/distributed.txt:
11112 * docs/random/ensonic/profiling.txt:
11115 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11117 * docs/gst/gstreamer-sections.txt:
11118 add new API and fix the build
11120 * gst/gstbin.c: (gst_bin_recalc_state):
11121 * gst/gstelement.c: (gst_element_message_full),
11122 (gst_element_get_state_func), (gst_element_set_state_func):
11123 use new API and improve logging
11125 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11127 API: add function to get StateChangereturn names to improve logs
11129 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11131 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11132 I'm considering shooting the next person to put strerror stuff
11133 in the translateable part of the message.
11135 2006-11-03 Wim Taymans <wim@fluendo.com>
11137 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11138 Get the type and printf conversion specifiers right.
11140 2006-11-03 Wim Taymans <wim@fluendo.com>
11142 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11144 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11145 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11146 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11147 Some small cleanups. Improve debugging.
11149 Signal all waiting threads with a broadcast instead of just one.
11152 2006-11-03 Wim Taymans <wim@fluendo.com>
11154 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11155 (gst_fd_src_create):
11156 Add some debugging.
11157 Only update fd when it's different from the old.
11159 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11161 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11162 Printf fixes for PPC/OSX, take two (#369366).
11164 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11166 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11168 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11169 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11170 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11171 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11172 don't cast to long long for portability reasons, but use
11173 GLib's types instead.
11175 2006-10-30 Michael Smith <msmith@fluendo.com>
11177 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11178 Get the arguments to lseek() the right way around.
11181 2006-10-30 Wim Taymans <wim@fluendo.com>
11183 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11186 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11188 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11190 Patch by: Kjartan Maraas <kmaraas at gnome org>
11192 * docs/design/part-MT-refcounting.txt:
11193 * docs/random/wtay/capsnego2-docs:
11196 Typo fixes (#366212).
11198 2006-10-28 Wim Taymans <wim@fluendo.com>
11200 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11203 * win32/common/libgstbase.def:
11204 * win32/common/libgstreamer.def:
11205 * win32/vs8/libgstbase.vcproj:
11206 * win32/vs8/libgstcontroller.vcproj:
11207 Add needed entries in .def files.
11209 Rearrange def files in vs8 solutions. Fixes #366286.
11211 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11213 * win32/common/gstconfig.h:
11214 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11215 hand-made win32 gstconfig.h. Fixes #366321.
11217 2006-10-27 Wim Taymans <wim@fluendo.com>
11219 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11220 (gst_ghost_pad_new_full):
11221 Make acceptcaps return TRUE when we don't have a target, just like
11224 2006-10-27 Wim Taymans <wim@fluendo.com>
11226 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11227 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11229 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11231 * gst/gststructure.c: (gst_structure_id_set_value):
11232 If someone tries to set a non-UTF8 string field on a structure,
11233 don't just print a warning, but also ignore the request and do
11234 not change/add that field to the structure.
11236 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11237 Test for the above.
11239 2006-10-25 David Schleef <ds@schleef.org>
11242 g_hash_table_insert() needs a cast to a non-const pointer duh.
11244 2006-10-25 David Schleef <ds@schleef.org>
11248 Change name parameter of _gst_debug_register_funcptr to const
11249 to reflect the constness of its use in the function as well
11250 as to quiet a gcc warning.
11252 2006-10-25 Edward Hervey <edward@fluendo.com>
11254 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11255 Don't push the buffer if it's empty.
11258 2006-10-24 Wim Taymans <wim@fluendo.com>
11263 * libs/gst/base/gstbasetransform.c:
11264 (gst_base_transform_sink_eventfunc):
11265 Debug segment values *after* updating them as this is more
11268 2006-10-23 Wim Taymans <wim@fluendo.com>
11270 * docs/design/part-events.txt:
11273 * docs/design/part-block.txt:
11274 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11275 (gst_pad_push_event):
11276 Revert BLOCKING patch, it tries to be smart without really having a
11277 clear idea what or how. So, now we discard all FLUSHING events again on
11278 a blocking pad. Should fix gnonlin again.
11280 2006-10-23 Wim Taymans <wim@fluendo.com>
11282 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11284 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11285 (gst_base_src_start), (gst_base_src_activate_push):
11286 Make sure size is always initialized. Fixes #364388.
11288 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11290 * docs/random/ensonic/distributed.txt:
11291 add some ideas about doing distributed processing
11293 * docs/random/ensonic/profiling.txt:
11294 get_rusage look promising
11296 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11298 * docs/manual/basics-helloworld.xml:
11299 Add a cast in example to fix compile warning
11301 2006-10-18 Wim Taymans <wim@fluendo.com>
11303 * gst/gstsegment.c: (gst_segment_set_last_stop),
11304 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11305 Relax arg checking again, -1 is allowed.
11307 2006-10-18 Wim Taymans <wim@fluendo.com>
11309 * gst/gstsegment.c: (gst_segment_set_last_stop),
11310 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11311 _set_last_stop() must be with a value != -1
11312 A _TYPE_SET to -1 means seek to 0.
11313 Calc last_stop correctly for negative rates.
11314 Make sure we work with positive durations when updating a segment.
11316 2006-10-18 Wim Taymans <wim@fluendo.com>
11318 * docs/design/part-live-source.txt:
11322 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11325 Add an explicit cast to GstBuffer** to keep old code that added an
11326 explicit cast to GstMiniObject** for gst_mini_object_replace()
11327 compiling without warning.
11329 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11331 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11332 check for validity of dates
11334 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11336 * docs/gst/gstreamer-sections.txt:
11337 Forgot this one, makes gtk-doc shut up.
11339 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11341 Patch by: Peter Kjellerstedt <pkj at axis com>
11344 Don't define xmlNodePtr to gpointer if the core was built with
11345 --disable-loadsave and --disable-registry, this will break
11346 applications that want to use libxml2 but are buildling against a
11347 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11348 instead so we don't have to mess with the libxml2 namespace
11351 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11354 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11355 type-punned pointer warnings.
11357 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11359 * gst/gstelement.h:
11360 Add casts to the correct return type to state <=> state transition
11363 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11365 * docs/design/part-live-source.txt:
11366 describe howto handle latency
11368 * docs/random/ensonic/profiling.txt:
11371 * tools/gst-plot-timeline.py:
11372 fix log parsing for solaris, remove unused function
11374 2006-10-16 Wim Taymans <wim@fluendo.com>
11376 * docs/design/part-trickmodes.txt:
11378 Update some docs regarding reverse playback.
11380 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11382 Patch by: Marcus Granado <mrc dot gran at gmail com>
11384 * win32/vs8/grammar.vcproj:
11385 Error out with a warning if glib-genmarshal.exe is not in path,
11386 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11388 2006-10-13 Wim Taymans <wim@fluendo.com>
11390 * gst/gstsegment.c: (gst_segment_set_seek):
11391 When seeking to stop -1, set last_stop (current position) to the
11392 duration of the segment.
11394 2006-10-13 Wim Taymans <wim@fluendo.com>
11396 * gst/gstelement.h:
11397 Clarify _NO_PREROLL a bit more.
11402 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11403 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11404 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11405 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11406 due to wrong locking order. Fixes #361769.
11407 Remove some redundant/misplaced checks in pad_block.
11409 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11410 For negative rates, count backwards from the duration.
11412 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11414 * gst/gsterror.c: (_gst_library_errors_init):
11415 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11416 up with something better).
11418 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11420 * win32/vs6/libgstreamer.dsp:
11421 * win32/vs7/libgstreamer.vcproj:
11422 * win32/vs8/libgstreamer.vcproj:
11423 Don't reference glib-compat.c which is currently not used and not
11424 disted; add gstquark.c which was recently added. Fixes #361730.
11426 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11428 * win32/common/libgstbase.def:
11429 * win32/common/libgstcontroller.def:
11430 * win32/common/libgstreamer.def:
11431 Add gst_caps_merge() and a bunch of other recently-added functions.
11434 2006-10-11 Wim Taymans <wim@fluendo.com>
11436 * docs/plugins/gstreamer-plugins.args:
11437 * docs/plugins/inspect/plugin-coreelements.xml:
11438 * docs/plugins/inspect/plugin-coreindexers.xml:
11439 Update element args.
11441 * gst/gstsystemclock.c:
11442 Small comment update.
11444 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11445 (gst_tee_request_new_pad), (gst_tee_release_pad),
11446 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11447 (gst_tee_sink_activate_pull):
11448 * plugins/elements/gsttee.h:
11450 Add default property defines.
11451 Implement release pad function.
11452 Give properties better blubs etc.
11453 Activate pads before adding them to a running tee.
11454 Do simple buffer_alloc on the first requested pad.
11455 Post error when activation fails.
11457 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11459 * gst/gst.c: (ensure_current_registry_forking):
11460 Check return value of write() to make compiler happy.
11462 2006-10-11 Wim Taymans <wim@fluendo.com>
11464 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11466 * plugins/elements/gstqueue.c: (gst_queue_chain):
11467 Recheck queue filledness after signalling the overrun when we're about
11468 to leak downstream because we released the lock when emitting the signal
11469 and the queue could be empty again. Fixes #352345.
11471 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11473 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11474 Fix refcounting here too, just like we did for _new_valist() a few
11475 days ago (#357180) (thanks to René Stadler). Also remove all those
11476 'Since: 0.9' from the gtk-doc blobs.
11478 * tests/check/libs/controller.c: (controller_refcount_new_list),
11479 (gst_controller_suite):
11480 Unit test for the above.
11482 2006-10-10 Wim Taymans <wim@fluendo.com>
11484 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11486 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11487 (gst_pad_save_thyself):
11489 Write pad direction in XML output. Fixes #345496.
11491 2006-10-10 Wim Taymans <wim@fluendo.com>
11493 Patch by: René Stadler <mail at renestadler dot de>
11495 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11496 (gst_controller_new_list), (_gst_controller_dispose),
11497 (_gst_controller_finalize), (_gst_controller_class_init):
11498 Take ref to controlled object so that it cannot disappear.
11501 2006-10-10 Wim Taymans <wim@fluendo.com>
11503 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11504 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11505 (gst_check_teardown_sink_pad):
11506 Activate/deactivate pads in setup/teardown respectively.
11508 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11510 Patch by: Josep Torra Valles <josep@fluendo.com>
11513 Cast values when making gstenumtypes.h. This pacifies Forte
11514 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11515 in the enumeration.
11517 2006-10-09 Wim Taymans <wim@fluendo.com>
11519 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11520 Rename some more @cur to @start to fix docs.
11522 * gst/gstsegment.c: (gst_segment_set_seek):
11524 time and start must always stay in sync as defined in design doc.
11526 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11527 Rename param to fix docs.
11529 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11530 Check that start and time are in sync.
11532 * tests/check/pipelines/parse-launch.c:
11533 (gst_parse_test_element_change_state):
11534 Activate pad before adding to the element.
11536 2006-10-09 Wim Taymans <wim@fluendo.com>
11538 * docs/design/part-qos.txt:
11543 Update seek event docs regarding negative rates.
11544 Rename @cur to @start.
11546 * gst/gstsegment.c: (gst_segment_set_seek):
11547 * gst/gstsegment.h:
11548 Update set_seek docs regarding negative rates.
11549 Correctly update last_stop to @stop when dealing with negative
11551 Rename @cur to @start.
11553 * tests/check/gst/gstpad.c: (GST_START_TEST):
11554 Activate pads before trying to use them.
11556 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11557 (gst_segment_suite):
11558 Add simple check for segments and negative rates.
11560 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
11562 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11563 * gst/gsttaglist.h:
11564 * docs/gst/gstreamer-sections.txt:
11565 API: add gst_tag_list_is_empty() (#360467).
11567 * tests/check/gst/gsttag.c: (GST_START_TEST):
11570 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11572 * gst/gstmessage.h:
11573 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11574 a value that doesn't fit on enumeration.
11576 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11578 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11579 Remove local debugging system and use Gstreamer's instead.
11581 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11583 Patch by: Josep Torra Valles <josep@fluendo.com>
11585 * common/m4/gst-error.m4:
11586 Disable warning of statement not reached on Forte.
11587 * gst/gstmessage.h:
11588 Fix warning on Forte (value doesn't fit on enumeration).
11589 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11590 Fix warning on Forte (value doesn't fit on enumeration).
11591 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11592 DEBUG macro says it takes minimum of 2 args and so Forte
11593 complains about the use with just 1 arg.
11594 * plugins/elements/gstfdsink.c:
11595 * plugins/elements/gstfdsrc.c:
11596 * plugins/elements/gstfilesink.c:
11597 * plugins/elements/gstfilesrc.c:
11598 Use correct return type for the uri handler implementations.
11600 All these fix warnings in Forte. Fixes bug #360860.
11602 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
11604 * gst/gstelement.h:
11605 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11606 format string, so don't use G_GNUC_PRINTF for those versions.
11608 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11610 * gst/gsttaglist.c: (gst_is_tag_list):
11611 * gst/gsttaglist.h:
11612 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11614 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11615 Small test for the above.
11617 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11619 * gst/gsttaglist.h:
11620 Less tabs, more spaces.
11622 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
11625 Those two function declarations do actually belong there, revert
11626 commit from yesterday that turned them intro macros.
11628 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11630 Patch by: Josep Torra Valles <josep@fluendo.com>
11632 * gst/gst.c: (gst_init_get_option_group):
11633 Fix empty declaration and type mismatch.
11634 * gst/gstbin.c: (gst_bin_change_state_func):
11636 * gst/gstelement.c: (gst_element_continue_state),
11637 (gst_element_set_state_func), (gst_element_change_state),
11638 (gst_element_change_state_func):
11639 Fix type mismatches.
11640 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11641 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11642 Cast as appropriate.
11643 * gst/gstobject.c: (gst_class_signal_connect):
11644 Cast as appropriate. The function pointer parameter really
11645 has the wrong type but would break API if we change it.
11647 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11648 order of including string.h.
11649 * gst/gstutils.c: (gst_element_state_get_name):
11650 Remove unreachable line.
11651 * gst/gstxml.c: (gst_xml_parse_doc):
11653 All these caught by Forte.
11655 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11657 Patch by: Josep Torra Valles <josep@fluendo.com>
11659 * common/m4/gst-error.m4:
11661 We need to disable warnings on Forte for empty declarations
11662 due to gst-indent adding ;s to lines that just use macros
11663 where the macro actually doesn't need a ; at end to end
11666 2006-10-06 Wim Taymans <wim@fluendo.com>
11668 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11669 (gst_file_sink_close_file), (gst_file_sink_event),
11670 (gst_file_sink_render):
11671 Add some FIXME for the NEWSEGMENT handling.
11673 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11675 * gst/parse/grammar.y:
11676 Remove static function gst_parse_element_lock as all it does
11677 is return. Looks like cruft from 0.8.
11679 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11681 Patch by: Josep Torra Valles <josep@fluendo.com>
11683 * common/m4/gst-error.m4:
11685 * libs/gst/net/Makefile.am:
11686 Fix a compilation issue with Forte on Solaris. inet_aton is in
11689 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11691 * gst/gstpad.c: (pre_activate):
11692 * gst/gstregistry.c: (gst_registry_scan_path_level):
11693 * gst/gstregistryxml.c: (load_plugin):
11694 * libs/gst/controller/gstcontroller.c:
11695 (gst_controlled_property_set_interpolation_mode):
11696 * libs/gst/dataprotocol/dataprotocol.c:
11697 (gst_dp_packet_from_event_1_0):
11698 * libs/gst/net/gstnetclientclock.c:
11699 (gst_net_client_clock_observe_times):
11700 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11703 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11706 * docs/gst/gstreamer-sections.txt:
11707 * gst/gstconfig.h.in:
11708 * gst/gstelement.h:
11710 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11711 whether we can use G_GNUC_PRINTF in other header files and at
11712 least check the printf format/arguments of debug messages and
11713 GST_ELEMENT_ERROR messages when the printf extension is not
11715 Replace more tabs with spaces in gstinfo.h and remove two spurious
11716 function declarations in GST_DISABLE_DEBUG part with macros.
11718 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
11720 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11721 More docs for the sync-message signal (mention that it is not
11722 emitted by default); log message structures of messages posted on
11725 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
11727 * gst/gst.c: (ensure_current_registry_forking):
11728 Use a pipe pair to receive status results from the forked child, and
11729 ignore the result from waitpid. Fixes #355499
11731 2006-10-02 Wim Taymans <wim@fluendo.com>
11733 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11734 (gst_ghost_pad_suite):
11737 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
11740 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11742 2006-10-02 Edward Hervey <edward@fluendo.com>
11744 * docs/design/part-block.txt:
11745 Further explain the use of flushing on blocked pads.
11746 * docs/gst/gstreamer-sections.txt:
11747 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11748 (gst_pad_push_event):
11750 Added new GstPadFlag : GST_PAD_BLOCKING.
11751 Adds the notion of pads really blocking, which enables to properly
11752 handle FLUSH_START/FLUSH_STOP events on blocked pads.
11754 API: gst_pad_is_blocking()
11755 API: GST_PAD_IS_BLOCKING() macro
11756 API: GST_PAD_BLOCKING GstPadFlag
11758 2006-10-02 Wim Taymans <wim@fluendo.com>
11760 Patch by: mrcgran <mrc.gran at gmail dot com>
11762 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11763 Filter the proxied caps against the padtemplate if we have one.
11765 * gst/gstquery.c: (gst_query_new_segment):
11766 Add include for gstinfo.h so that compilation with
11767 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11769 2006-10-02 Wim Taymans <wim@fluendo.com>
11771 Patch by: Alessandro Decina <alessandro at nnva org>
11773 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11774 (gst_file_sink_set_location), (gst_file_sink_open_file),
11775 (gst_file_sink_close_file), (gst_file_sink_event),
11776 (gst_file_sink_render):
11777 Set file to NULL when closing filesink so that we can set a new filename
11778 in READY. Fixes #358613.
11780 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
11782 Patch by: Alessandro Decina <alessandro at nnva org>
11784 * gst/gstevent.c: (_gst_event_copy):
11785 Fix gst_mini_object_make_writable() and gst_event_copy() for events
11786 with event structures by setting the parent refcount address of the
11787 copied structure to the address of the refcount member of the newly
11788 copied event rather than the address of the refcount member of the
11789 original event. Fixes #358737.
11791 * tests/check/gst/gstevent.c: (GST_START_TEST):
11792 Unit test for the above.
11794 2006-09-29 Stefan Kost <ensonic@users.sf.net>
11796 * docs/design/Makefile.am:
11797 Dist some more files.
11799 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
11801 * tests/check/libs/controller.c: (GST_START_TEST),
11802 (gst_controller_suite):
11803 Add test for the previous fix; add some more tests
11804 for correct refcounting behaviour; fix a few leaks
11805 in test cases; call gst_controller_init() at start
11808 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
11810 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11811 (gst_controller_set_from_list):
11812 Don't g_return_val_if_fail() on timed values with invalid timestamps
11813 inside a critical section without unlocking the mutex. Spotted by
11814 René Stadler. (#357617)
11815 Also, fix up refcounting properly: when returning an existing
11816 controller, we should increase the reference only once and not
11817 once per property and when trying to control a property again
11818 we should also increase the refcount.
11820 2006-09-29 Wim Taymans <wim@fluendo.com>
11822 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11823 * libs/gst/net/gstnettimeprovider.c:
11824 (gst_net_time_provider_thread):
11825 Stop reading commands when EOF as well.
11827 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11828 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11829 * plugins/elements/gstidentity.c: (gst_identity_class_init):
11830 Unify description of the dump property.
11832 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11834 * tests/examples/manual/.cvsignore:
11835 OK, so it's actually cvsignore that needs changing. Stop laughing.
11837 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11839 * tests/examples/manual/Makefile.am:
11840 Gah, declare vars *before* using them
11842 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11844 * gst/gst.c: (init_pre), (scan_and_update_registry),
11845 (ensure_current_registry_nonforking),
11846 (ensure_current_registry_forking), (ensure_current_registry),
11847 (init_post), (gst_debug_help), (gst_deinit):
11848 * gst/gst_private.h:
11849 * gst/gstregistry.c: (gst_registry_finalize),
11850 (gst_registry_remove_features_for_plugin_unlocked),
11851 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11852 (gst_registry_scan_path),
11853 (_priv_gst_registry_remove_cache_plugins),
11854 (_priv_gst_registry_cleanup):
11855 * gst/gstregistry.h:
11856 Re-commit the registry changes, along with an extra fix:
11857 When a cached plugin is encountered at a different file path,
11858 update the stored path in the registry cache so that the parent
11859 process knows where it actually is now when it re-reads the registry
11860 cache. Fixes the thing that broke distcheck with the previous commit.
11862 * tests/check/Makefile.am:
11863 Clean up files named 'core' too when running make clean.
11865 * tests/examples/manual/Makefile.am:
11866 Set up a registry path for running these tests, and clean it properly
11869 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11872 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
11873 want gmodule-no-export-2.0.pc instead so that we don't drag in
11874 --export-dynamic on every project that links to GStreamer.
11876 Also, make our export regex only match the start of symbols, rather
11877 than any symbol that contains '_gst' somewhere.
11879 * libs/gst/check/Makefile.am:
11880 The libgstcheck we build does however need export-dynamic, as it
11881 produces some symbols that don't match our _gst... style regex.
11884 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
11886 * gst/gst.c: (init_pre), (scan_and_update_registry),
11887 (ensure_current_registry_nonforking),
11888 (ensure_current_registry_forking), (ensure_current_registry),
11889 (init_post), (gst_debug_help), (gst_deinit):
11890 * gst/gst_private.h:
11891 * gst/gstregistry.c: (gst_registry_finalize),
11892 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11893 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
11894 (_gst_registry_cleanup):
11895 * gst/gstregistry.h:
11896 Revert previous change until I figure out why it breaks distcheck.
11898 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
11900 * gst/gst.c: (init_pre), (scan_and_update_registry),
11901 (ensure_current_registry_nonforking),
11902 (ensure_current_registry_forking), (ensure_current_registry),
11903 (init_post), (gst_debug_help), (gst_deinit):
11905 Make init_pre and init_post take the full complement of GOptionFunc
11906 args so they can return useful GErrors. Make the registry updating
11909 Call _priv_gst_registry_remove_cache_plugins after scanning files to
11910 ensure that the registry we're about to write out doesn't contain
11911 stale information about old-deleted plugin files.
11913 Make _priv_gst_registry_remove_cache_plugins return a boolean so
11914 that deletion of plugin files is considered a registry change.
11916 * gst/gst_private.h:
11917 * gst/gstregistry.c: (gst_registry_finalize),
11918 (gst_registry_remove_features_for_plugin_unlocked),
11919 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11920 (gst_registry_scan_path),
11921 (_priv_gst_registry_remove_cache_plugins),
11922 (_priv_gst_registry_cleanup):
11923 * gst/gstregistry.h:
11924 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
11925 by adding _priv prefix, so that they won't appear in the global
11926 symbol table. They still do atm though because of #318031. Move the
11927 prototypes to gst_private.h
11929 When removing a plugin, remove all features for that plugin too.
11932 2006-09-27 Wim Taymans <wim@fluendo.com>
11934 * docs/random/moving-plugins:
11935 Make it clear that the "compiled-in descriptions" really mean
11936 the element details.
11938 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11939 (gst_base_sink_wait_preroll):
11942 * docs/libs/gstreamer-libs-sections.txt:
11943 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11944 (gst_base_src_get_range), (gst_base_src_activate_push):
11945 * libs/gst/base/gstbasesrc.h:
11946 Added function to block while waiting for PLAYING, this function
11947 is used by live sources that block on the clock.
11948 API: gst_base_src_wait_playing()
11950 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
11952 Patch by: Peter Kjellerstedt <pkj at axis com>
11955 gst-element-check.m4 is generated and should therefore be
11956 copied from the build dir rather than the source dir (#357593).
11957 'make distcheck' hasn't noticed this because we were disting
11958 the file as well, so stop doing that.
11960 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
11962 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11963 Add some tests for gst_caps_intersect().
11965 * tools/gst-launch.c: (event_loop):
11966 Print all buffering percentages we get, even the 100% one.
11968 2006-09-26 Wim Taymans <wim@fluendo.com>
11970 * tools/gst-inspect.c: (print_element_properties_info),
11971 (print_signal_info):
11972 Fix printing of flags to match the look of enums.
11974 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
11976 * gst/gstelementfactory.c:
11977 Fix typo in docs blurb.
11979 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
11981 * gst/gsturi.c: (search_by_entry):
11982 Don't assert/crash here if a uri handler doesn't return any
11983 supported protocols. The list of protocols could be generated
11984 dynamically at runtime or at plugin registration, and an error
11985 in the underlying library shouldn't be fatal (#353301).
11987 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
11990 Fix warning if HAVE_PRINTF_EXTENSION is undefined
11991 (spotted by Peter Kjellerstedt).
11993 2006-09-23 Wim Taymans <wim@fluendo.com>
11995 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
11997 * libs/gst/base/gstbasesrc.c:
11998 (gst_base_src_default_check_get_range), (gst_base_src_start),
11999 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12000 (gst_base_src_change_state):
12001 Match _start/_stop calls in the activate functions. Remove redundant
12002 _stop call from the state change function. Fixes #356910.
12003 Turn failure DEBUG into ERROR.
12005 2006-09-22 Wim Taymans <wim@fluendo.com>
12007 * docs/design/part-buffering.txt:
12008 * gst/gstmessage.c: (gst_message_new_buffering),
12009 (gst_message_parse_buffering):
12010 Update docs about buffering.
12012 * docs/design/part-trickmodes.txt:
12015 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12017 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12018 (gst_controller_new_list):
12019 Ref instances when returning them again (fixes #357180)
12021 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12023 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12024 Don't forget to release proxy lock when there's an error.
12026 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12029 Add extra initialisers for Caps things, to fix some plugin warnings
12032 2006-09-18 Wim Taymans <wim@fluendo.com>
12034 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12035 Also set template on the internal pad so that a getcaps from the
12036 target pad returns the template caps.
12038 2006-09-18 Wim Taymans <wim@fluendo.com>
12040 * gst/gstelement.c: (gst_element_post_message),
12041 (gst_element_dispose):
12042 Use _DEBUG_OBJECT some more.
12044 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12047 * tools/gst-launch.c: (main):
12048 If the toplevel element is not a GstPipeline, it must be put in a
12049 pipeline so that a bus and clock is selected.
12051 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12053 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12054 JITTER, RATE, and LATENCY query should be handled by the
12055 default case and not by the CONVERT query code.
12057 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12059 * gst/gstformat.c: (gst_format_register):
12060 Fix locking order (must take lock before using n_values).
12062 * gst/gstvalue.c: (gst_value_serialize_enum),
12063 (gst_value_deserialize_enum_iter_cmp),
12064 (gst_value_deserialize_enum):
12065 Fix serialisation/deserialisation of custom registered GstFormats.
12067 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12068 Unit test for custom format serialisation/deserialisation.
12070 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12072 * docs/pwg/building-boiler.xml:
12073 * plugins/elements/gstcapsfilter.c:
12074 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12077 2006-09-16 Edward Hervey <edward@fluendo.com>
12079 * libs/gst/base/gstbasetransform.c:
12080 (gst_base_transform_buffer_alloc):
12081 Check if requested caps are the same as the sinks caps IF
12082 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12084 This fixes the renegotiation issues stated in #352827.
12086 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12089 * docs/manual/advanced-autoplugging.xml:
12090 * tests/examples/Makefile.am:
12091 * tests/examples/manual/.cvsignore:
12092 * tests/examples/manual/Makefile.am:
12093 * tests/examples/manual/extract.pl:
12094 Extract the manual examples again like we used to do.
12097 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12099 * win32/common/config.h:
12102 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12105 Documents how to receive errors.
12107 2006-09-15 Wim Taymans <wim@fluendo.com>
12109 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12110 (event_loop), (main):
12111 Added some comments here and there.
12112 Post an application message when an interrupt is caught instead of doing
12113 an uncontrolled state change.
12114 Clean up the event loop.
12115 Handle buffering messages, pause/resume the pipeline.
12116 Make shutdown because of an interrupt more reliable.
12118 2006-09-15 Wim Taymans <wim@fluendo.com>
12120 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12121 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12122 (gst_base_sink_preroll_object):
12123 Make sure that our internal state is correct when we commit our state
12124 asynchronously. This solves a race where a state change to PLAYING
12125 could cause the sink to remain blocked in preroll in some situations.
12127 2006-09-15 Wim Taymans <wim@fluendo.com>
12129 * tools/gst-inspect.c: (print_element_properties_info),
12130 (print_signal_info):
12131 List flags as hex so it's easier to deal with.
12133 2006-09-15 Wim Taymans <wim@fluendo.com>
12135 * docs/libs/gstreamer-libs-sections.txt:
12136 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12137 (gst_base_sink_do_sync):
12138 * libs/gst/base/gstbasesink.h:
12139 Expose logic to wait for preroll so that subclasses such as audiosink
12140 can also use this method.
12141 API: gst_base_sink_wait_preroll()
12143 2006-09-15 Wim Taymans <wim@fluendo.com>
12145 * gst/gstobject.c: (gst_object_set_parent):
12146 * gst/gstpipeline.c: (do_pipeline_seek):
12147 Small cleanups in docs and code.
12149 * gst/gstsegment.c: (gst_segment_clip):
12150 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12151 if stop == start and start is in the segment, no clipping should be
12152 done. Also add a test for this.
12154 2006-09-15 Wim Taymans <wim@fluendo.com>
12156 * docs/design/part-buffering.txt:
12157 * docs/gst/gstreamer-sections.txt:
12158 * gst/gstmessage.c: (gst_message_new_buffering),
12159 (gst_message_parse_buffering):
12160 * gst/gstmessage.h:
12161 Added methods to create and parse BUFFERING messages.
12162 Added preliminary docs about buffering.
12163 API: gst_message_new_buffering
12164 API: gst_message_parse_buffering
12166 2006-09-06 Wim Taymans <wim@fluendo.com>
12169 Update documentation.
12171 * gst/gstelement.c: (gst_element_class_init),
12172 (gst_element_release_request_pad), (gst_element_set_clock),
12173 (gst_element_get_index), (gst_element_add_pad),
12174 (gst_element_remove_pad), (gst_element_get_random_pad),
12175 (gst_element_send_event), (gst_element_get_query_types),
12176 (gst_element_query), (gst_element_post_message),
12177 (gst_element_message_full), (gst_element_continue_state),
12178 (gst_element_lost_state), (gst_element_save_thyself),
12179 (gst_element_restore_thyself):
12180 Documentation updates.
12181 Rename last bit of the new-pad -> pad-added signal rename.
12182 Fix the case where an element query would only work if the source
12184 Avoid some useless type checking in message handling.
12189 Documentation updates.
12191 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12193 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12194 add an INFO line for when we actually update the fd
12196 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12201 === release 0.10.10 ===
12203 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12206 releasing 0.10.10, "Pais"
12208 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12210 * docs/manual/advanced-position.xml:
12211 Fix typo in sample code.
12213 2006-09-05 Wim Taymans <wim@fluendo.com>
12215 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12216 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12217 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12218 * libs/gst/net/gstnetclientclock.h:
12219 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12220 * libs/gst/net/gstnettimepacket.h:
12221 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12222 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12223 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12224 * libs/gst/net/gstnettimeprovider.h:
12225 Make stuff compile on windows. Fixes #345295.
12227 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12229 * gst/gst.c: (ensure_current_registry_forking):
12230 Print better details when child was terminated by signal.
12232 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12234 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12235 Print a warning rather than g_assert() if a plugin feature
12236 is a URI handler but returns no protocols (#353976).
12238 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12240 * docs/random/moving-plugins:
12243 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12245 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12246 Fix locking order, handle NULL function values properly.
12251 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12252 Initialise variable before using it and fix debug statement to
12253 print the address of the function rather than the address of the
12254 variable on the stack holding the address of the function.
12256 2006-09-01 Wim Taymans <wim@fluendo.com>
12258 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12259 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12260 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12261 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12262 (gst_ghost_pad_parent_unset),
12263 (gst_ghost_pad_internal_do_activate_push),
12264 (gst_ghost_pad_internal_do_activate_pull),
12265 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12266 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12267 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12268 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12269 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12270 (gst_ghost_pad_new_no_target_from_template),
12271 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12273 Avoid needless typechecking in macros.
12274 Since the internal pad is always present and never changes, there is
12275 no need to locking or ref when retrieving it.
12276 Improve debugging a bit.
12277 Handle link errors when setting the target. Fixes #341029.
12279 2006-09-01 Wim Taymans <wim@fluendo.com>
12281 * docs/libs/gstreamer-libs-sections.txt:
12282 * docs/plugins/gstreamer-plugins-sections.txt:
12283 Fix docs some more.
12285 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12286 (gst_collect_pads_event):
12287 * libs/gst/base/gstcollectpads.h:
12288 Documentation updates.
12289 Free queued buffer when removing a pad.
12291 2006-08-31 Michael Smith <msmith@fluendo.com>
12293 * gst/gstutils.c: (gst_element_link_pads),
12294 (gst_element_link_pads_filtered):
12295 Ensure that we set a capsfilter to NULL if we failed to link it
12296 when doing filtered linking, to avoid criticals.
12298 No need to check for unreffing srcpad, which is explicly NULLed
12299 above (a trivial code cleanup).
12301 2006-08-31 Wim Taymans <wim@fluendo.com>
12303 * docs/design/part-gstghostpad.txt:
12304 Update ascii art in documentation.
12306 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12307 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12308 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12309 (gst_ghost_pad_internal_do_activate_push),
12310 (gst_ghost_pad_internal_do_activate_pull),
12311 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12312 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12313 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12314 (gst_ghost_pad_set_target):
12315 Small cleanups and leak fixes.
12316 Remove some checks now that the internal pad is never NULL.
12317 Fix the case where linking pads without a target would create nasty
12318 criticals. Fixes #341029.
12319 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12320 value of _set_target().
12322 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12323 (gst_ghost_pad_suite):
12324 Some more tests for creating and linking untargeted ghostpads.
12326 2006-08-31 Edward Hervey <edward@fluendo.com>
12328 * docs/gst/gstreamer-sections.txt:
12329 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12330 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12331 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12332 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12333 (gst_ghost_pad_new_from_template),
12334 (gst_ghost_pad_new_no_target_from_template):
12335 * gst/gstghostpad.h:
12336 Refactored *_new() functions.
12337 Templates are now used as a g_object_new() parameter.
12338 Use template in _do_getcaps() if we don't have a target.
12339 Small documentation cleanups.
12340 Added two new constructors:
12341 gst_ghost_pad_new_from_template()
12342 gst_ghost_pad_new_no_target_from_template()
12343 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12344 (gst_ghost_pad_suite):
12345 Added tests for new ghostpad instanciation functions.
12347 API additions: gst_ghost_pad_new_from_template,
12348 gst_ghost_pad_new_no_target_from_template
12350 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12352 * docs/random/ensonic/profiling.txt:
12353 Ideas about qos profiling.
12355 2006-08-29 Wim Taymans <wim@fluendo.com>
12357 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12361 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12364 Improve and detypofy docs.
12366 * tests/check/Makefile.am:
12367 * tests/check/gst/.cvsignore:
12368 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12369 Add a basic test suite for GstXML.
12371 2006-08-29 Wim Taymans <wim@fluendo.com>
12373 * gst/gstelement.c: (activate_pads), (clear_caps),
12374 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12375 Clear the pad caps when the element shut down all of the pads and
12376 is not streaming data that could modify the caps.
12379 2006-08-28 Michael Smith <msmith@fluendo.com>
12381 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12382 Revert previous change; I misunderstood single-segment mode.
12384 2006-08-28 Michael Smith <msmith@fluendo.com>
12386 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12387 Unset DISCONT on buffers when using single-segment mode.
12389 2006-08-28 Wim Taymans <wim@fluendo.com>
12391 * gst/gstcaps.c: (gst_caps_merge_structure):
12393 Fix docs and indentation again.
12395 * tests/check/gst/gstquery.c: (GST_START_TEST):
12396 Fix leak in tests and add some more tests.
12398 2006-08-28 Edward Hervey <edward@fluendo.com>
12400 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12401 Inform GstSegment of the last stop position in order for the current
12402 segment to have a proper duration if it doesn't have a specific stop
12403 position from which a duration could be calculated.
12404 This bug was noticeable when a non-flushing, non-update new segment was
12405 followed by another segment (all buffers from the new segment were being
12408 2006-08-28 Wim Taymans <wim@fluendo.com>
12410 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12411 Small comment update.
12413 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12414 (gst_identity_transform_ip):
12415 Drop-probability is broken, mention this in the code with a
12416 FIXME and also in the property description.
12417 Make silent also be silent about the drop messages.
12419 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12421 * docs/manual/appendix-win32.xml:
12422 Remove mention of popt, we don't depend on that any
12423 longer (#353136). Add some comments pointing out that
12424 this section is slightly outdated.
12426 2006-08-28 Wim Taymans <wim@fluendo.com>
12428 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12430 * gst/gstquery.c: (gst_query_new_segment):
12431 * tests/check/gst/gstquery.c: (GST_START_TEST):
12432 Initialize variables when creating a new segment query.
12435 2006-08-28 Wim Taymans <wim@fluendo.com>
12437 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12439 * gst/gstelement.c: (gst_element_get_bus):
12440 * tests/check/gst/gstelement.c: (GST_START_TEST):
12441 Check for NULL before _reffing the bus. Fixes #353122.
12443 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
12445 * docs/manual/basics-bus.xml:
12446 Docs update: fix wrong callback return value explanation; add
12447 some lines about the implicit relationship between main loop
12448 and main context; remove duplicate main loop variable declaration.
12450 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
12452 * tests/check/gst/gstcaps.c: (GST_START_TEST):
12453 Don't leak caps in unit test; add a few more simple
12456 2006-08-24 Stefan Kost <ensonic@users.sf.net>
12458 * docs/gst/gstreamer-sections.txt:
12459 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12460 (gst_caps_structure_is_subset), (gst_caps_merge),
12461 (gst_caps_merge_structure):
12463 * libs/gst/base/gstbasetransform.c:
12464 (gst_base_transform_transform_caps):
12465 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12466 implement caps merging (fixes #352580)
12468 2006-08-23 Stefan Kost <ensonic@users.sf.net>
12470 * tools/Makefile.am:
12471 * tools/gst-plot-timeline.py:
12472 add debug-log plotting developer tool (#340674)
12474 2006-08-23 Wim Taymans <wim@fluendo.com>
12476 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12477 (gst_pad_stop_task):
12478 Improve debugging for task functions.
12480 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12481 (gst_task_start), (gst_task_pause), (gst_task_join):
12482 Make sure that the task function started and finished after a
12484 Don't try to push the task function on the threadpool multiple
12486 Improve the g_warning message with some useful suggestions
12487 about how to fix the problem.
12489 2006-08-23 Wim Taymans <wim@fluendo.com>
12491 * gst/gstutils.c: (gst_pad_proxy_getcaps):
12492 Handle RESYNC correctly in _proxy_getcaps.
12494 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
12496 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12497 (gst_xml_parse_memory), (gst_xml_get_element):
12498 Chain up to parent class in dispose function and also
12499 unref the elements in the toplevel_elements GList.
12500 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12501 Always return a reference in gst_xml_get_element() rather
12502 than only sometimes.
12504 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12505 Don't leak GstXml object.
12507 2006-08-21 Stefan Kost <ensonic@users.sf.net>
12509 * docs/gst/gstreamer-sections.txt:
12510 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12513 * libs/gst/base/gstbasetransform.c:
12514 (gst_base_transform_transform_caps):
12515 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12518 2006-08-21 Edward Hervey <edward@fluendo.com>
12520 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12521 Implement GObject::dispose virtual method in GstXML so we can free the
12522 top_elements GList.
12524 2006-08-21 Wim Taymans <wim@fluendo.com>
12526 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12527 (gst_buffer_create_sub):
12528 Copy duration/offset_end/caps when creating a subbuffer of the
12530 Make the subbuffer read-only when we make the metadata writable for
12531 now. Fixes #351768.
12533 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12534 Added check for metadata copy when creating subbuffers.
12536 2006-08-21 Edward Hervey <edward@fluendo.com>
12538 * libs/gst/base/gstbasetransform.c:
12539 (gst_base_transform_buffer_alloc):
12540 Only call downstream buffer_alloc if transform element is passthrough
12541 or always_in_place. Closes #350449.
12543 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12546 ChangeLog surgery to add comments to previous changes
12548 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12553 * gst/gstpad.c: (gst_pad_set_active):
12554 Be more verbose in the log
12556 * libs/gst/base/gstbasetransform.c:
12557 (gst_base_transform_transform_caps):
12558 Simplify caps to get rid of duplicates, fixes #345444
12560 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12564 Use these optimizations only internally.
12566 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12568 * gst/gstvalue.c: (gst_value_compare_list),
12569 (gst_value_compare_fraction_range),
12570 (gst_value_intersect_fraction_fraction_range),
12571 (gst_value_intersect_fraction_range_fraction_range),
12572 (gst_value_subtract_fraction_fraction_range),
12573 (gst_value_subtract_fraction_range_fraction_range),
12574 (gst_value_get_compare_func), (gst_value_compare),
12575 (gst_value_compare_with_func):
12577 Saves the expensive lookup of the compare function in many cases
12580 2006-08-18 Edward Hervey <edward@fluendo.com>
12582 * tests/check/gst/gstinfo.c: (gst_info_suite):
12583 Disable test that require gstdebug if it wasn't built in core.
12585 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12587 * docs/random/ensonic/logging.txt:
12590 * gst/gstinfo.c: (gst_debug_log_default):
12591 reorder fields, save some columns, add optional color codes for log
12594 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12596 * docs/random/ensonic/logging.txt:
12597 add ideas about making the logs a bit more useful
12599 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12601 * docs/pwg/advanced-events.xml:
12602 * docs/pwg/titlepage.xml:
12603 Update for 0.10 API (#340627). Add myself
12606 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12608 * docs/libs/gstreamer-libs-docs.sgml:
12609 * docs/libs/gstreamer-libs-sections.txt:
12610 * libs/gst/check/gstbufferstraw.c:
12611 Make gstcheck stuff show up in docs (still needs to
12612 be documented properly though).
12614 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
12616 * docs/gst/gstreamer-sections.txt:
12618 * gst/gst.c: (init_post):
12619 * gst/gst_private.h:
12620 * gst/gstquark.c: (_priv_gst_quarks_initialize):
12622 * gst/gstquery.c: (gst_query_new_position),
12623 (gst_query_set_position), (gst_query_parse_position),
12624 (gst_query_new_duration), (gst_query_set_duration),
12625 (gst_query_parse_duration), (gst_query_new_convert),
12626 (gst_query_set_convert), (gst_query_parse_convert),
12627 (gst_query_new_segment), (gst_query_set_segment),
12628 (gst_query_parse_segment), (gst_query_new_seeking),
12629 (gst_query_set_seeking), (gst_query_parse_seeking):
12630 Add internal helpers for pre-registering quarks from static strings
12631 and using the quark values directly instead of looking them up when
12632 creating and parsing queries. Can be used for event construction too.
12635 2006-08-16 Wim Taymans <wim@fluendo.com>
12640 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12642 * gst/gstutils.c: (gst_util_set_value_from_string):
12643 Fix memleak (#351502).
12645 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12646 Add unit test for most of gst_util_set_value_from_string()
12647 (not that one would want to encourage use of this function).
12649 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12651 * libs/gst/check/gstcheck.h:
12652 Use const gchar * variables in fail_unless_equals_string
12653 macro to avoid compiler warnings (and don't use tabs for
12656 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12658 * tools/gst-launch.c: (print_tag):
12659 More space on the left for the tag names, to cater
12660 for the 'extended comment' tag (not touching the
12661 string for the first line since it's translated).
12663 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12665 * libs/gst/check/gstcheck.h:
12666 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12667 print something when they fail.
12669 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12671 * docs/gst/gstreamer-sections.txt:
12672 * gst/gsttaglist.c: (_gst_tag_initialize):
12673 * gst/gsttaglist.h:
12674 API: add GST_TAG_EXTENDED_COMMENT (#350935).
12675 Also change merge function for GST_TAG_COMMENT to
12678 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12680 * gst/gstinfo.c: (gst_debug_print_object):
12681 Make GST_PTR_FORMAT print messages as well.
12683 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12684 (GST_START_TEST), (gst_info_suite):
12687 2006-08-14 Edward Hervey <edward@fluendo.com>
12689 * gst/gstelementfactory.c: (gst_element_register):
12690 If the GstElementClass doesn't have a GstElementDetails with all fields
12691 filled up correctly (longname, description AND author), then error out
12692 nicely instead of crashing.
12694 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12696 * gst/gststructure.c:
12697 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12700 Expand on the difference between arrays and lists as we use them.
12702 2006-08-14 Wim Taymans <wim@fluendo.com>
12704 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12705 If the parent state change function failed, don't assume we can safely
12706 stop the source, this will be done when the pads are deactivated.
12708 2006-08-14 Wim Taymans <wim@fluendo.com>
12711 * gst/gsttask.c: (gst_task_join):
12714 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12715 (gst_pad_stop_task):
12716 When pad (de)activation failed for some reason, restore the old
12717 activation mode and set the pad to flushing instead of assuming the
12718 pad is deactivated.
12719 If the _task_join() failed, reinstall the task on the pad so that it can
12720 be stopped later and return an error.
12722 2006-08-11 Andy Wingo <wingo@pobox.com>
12725 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12726 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12727 is only for users of API that don't want to see deprecated
12728 functions in the headers; people that want to compile out
12729 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12730 CFLAGS. Fixes the build of multifdsink, or will soon..
12732 2006-08-11 Wim Taymans <wim@fluendo.com>
12734 * docs/gst/gstreamer-sections.txt:
12735 Add GstClockClass vmethod docs.
12738 Mark #endif with comment for associated #if
12740 * gst/gstclock.c: (gst_clock_id_wait):
12742 Add vmethod wait_jitter to avoid an unneeded _get_time() for
12743 most clock implementations.
12745 Flesh out docs about resolution methods.
12746 API: GstClockClass::wait_jitter
12748 * gst/gstsystemclock.c: (gst_system_clock_class_init),
12749 (gst_system_clock_async_thread),
12750 (gst_system_clock_id_wait_jitter_unlocked),
12751 (gst_system_clock_id_wait_jitter):
12752 Use base class wait_jitter variant for improved performance
12753 due to less clock polling.
12755 2006-08-11 Edward Hervey <edward@fluendo.com>
12757 * gst/gst.c: (gst_init_check), (init_post):
12758 Set gst as being initialized before scanning/updating the registry,
12759 since there might be my python plugin loader that calls gst_init() and
12760 we don't want to loop back in.
12763 2006-08-11 Wim Taymans <wim@fluendo.com>
12765 * docs/design/part-qos.txt:
12766 Bring docs in line with the code. Mostly the sign of the jitter was
12767 wrong in the docs. Fixes #349943.
12770 Fix the docs for the jitter.
12772 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12773 (gst_event_parse_tag), (gst_event_new_buffer_size),
12774 (gst_event_parse_buffer_size), (gst_event_parse_qos),
12775 (gst_event_new_seek), (gst_event_parse_seek),
12776 (gst_event_new_navigation):
12777 Make sure the GstStructure has no parent when creating custom
12779 Add some more argument checking so that we avoid 0.0 rates.
12780 Flesh out the docs for the QoS event some more.
12782 2006-08-11 Wim Taymans <wim@fluendo.com>
12784 * docs/gst/gstreamer-sections.txt:
12785 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12786 (ensure_current_registry_forking), (ensure_current_registry),
12787 (parse_one_option), (parse_goption_arg), (gst_deinit),
12788 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
12791 Added API and command line option to disable registry forking in
12792 addition to the environment variable.
12793 Constify some static arrays.
12794 Added some more debug.
12795 Don't deinit twice.
12796 API: gst_registry_fork_is_enabled()
12797 API: gst_registry_fork_set_enabled()
12798 API: --gst-disable-registry-fork command line option
12801 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
12803 * gst/gst.c: (gst_init):
12804 Fix typo in error message.
12806 2006-08-10 Stefan Kost <ensonic@users.sf.net>
12808 * libs/gst/controller/gstcontroller.h:
12809 fix ABI size-correction
12811 * tests/check/libs/gdp.c: (gst_dp_suite):
12812 make tests that use deprecated API conditional
12814 2006-08-10 Stefan Kost <ensonic@users.sf.net>
12816 * docs/libs/gstreamer-libs-sections.txt:
12817 * libs/gst/controller/gstcontroller.c:
12818 (_gst_controller_get_property), (_gst_controller_set_property),
12819 (_gst_controller_init), (_gst_controller_class_init):
12820 * libs/gst/controller/gstcontroller.h:
12821 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
12822 (gst_object_set_control_rate):
12823 API: add gst_object_{s,g}et_control_rate(), add private data section,
12826 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12827 * libs/gst/dataprotocol/dataprotocol.h:
12828 add deprecation guards to make gtk-doc happy and allow disabling cruft
12830 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
12832 * tests/check/Makefile.am:
12833 * tests/check/gst/.cvsignore:
12834 Let's enable the new unit test as well.
12836 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
12839 * docs/gst/gstreamer-sections.txt:
12840 * gst/gstconfig.h.in:
12841 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
12842 (_gst_info_printf_extension_ptr),
12843 (_gst_info_printf_extension_segment):
12844 API: add GST_SEGMENT_FORMAT, which is a printf extension we
12845 register that lets us easily dump GstSegments into debug
12848 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
12849 (info_segment_format_printf_extension), (gst_info_suite):
12850 Add simple unit test that logs a bunch of different segments (not
12851 valgrinded at the moment because of leaks in
12852 gst_debug_add_log_function).
12854 2006-08-09 Edward Hervey <edward@fluendo.com>
12856 * libs/gst/base/gstbasetransform.c:
12857 (gst_base_transform_buffer_alloc):
12858 Even if we can't figure out the proper format to request downstream,
12859 call buffer_alloc() downstream with the input parameters without setting
12860 the caps on the srcpad. This will force negotiation in the chain
12864 2006-08-08 Edward Hervey <edward@fluendo.com>
12866 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12867 Unlinking from a pad without a target is now a perfectly valid case
12868 which should NOT raise an assertion.
12869 This case would happen if a linked ghostpad its target set to NULL after
12870 it was previously linked.
12872 2006-08-08 Edward Hervey <edward@fluendo.com>
12874 * tests/check/libs/gdp.c:
12875 Also comment out the test (see below).
12877 2006-08-08 Edward Hervey <edward@fluendo.com>
12879 * tests/check/libs/gdp.c: (gst_dp_suite):
12880 Use the architecture information from config.h and not gcc macros
12881 in order to properly disable a test that fails on PPC64.
12883 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
12885 * gst/gstelement.c: (gst_element_remove_pad):
12886 Don't crash printing the warning if the pad has no parent.
12888 2006-08-02 Wim Taymans <wim@fluendo.com>
12890 * libs/gst/dataprotocol/dataprotocol.c:
12891 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12892 (gst_dp_crc), (gst_dp_header_payload_length),
12893 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
12894 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
12895 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
12896 (gst_dp_event_from_packet), (gst_dp_validate_header),
12897 (gst_dp_validate_payload):
12898 Make debug category static
12899 Constify the crc table.
12900 Do some more arg checking in public functions.
12901 Fix some docs and do some small cleanups.
12903 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
12904 Add some more checks to see if GDP deals with bogus input.
12906 2006-07-31 Wim Taymans <wim@fluendo.com>
12908 * gst/gstvalue.c: (gst_value_compare_list):
12909 Fix GstValueList comparison code. Fixes #347293.
12911 * tests/check/gst/gstvalue.c: (GST_START_TEST):
12912 Check to test GstValueList comparison.
12914 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
12916 * gst/gstelementfactory.c: (gst_element_factory_create):
12917 Remove unnecessary ref/unref pair
12919 * gst/parse/grammar.y:
12920 Make sure to free the parse buffer on all code paths.
12921 Move a g_free up to the error handler where it's easier to see.
12923 * tests/check/gst/gstevent.c: (test_event):
12924 Extending timeout for downstream travelling events to 10 seconds to
12925 hopefully avoid intermittent failure on the buildbots.
12927 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
12928 Don't manually set the state of the src element - it will happen as a
12929 natural consequence of the pipeline changing state, and that way it
12930 will do it in the right order too.
12932 2006-07-31 Wim Taymans <wim@fluendo.com>
12934 * libs/gst/base/gstbasetransform.c:
12935 (gst_base_transform_buffer_alloc):
12936 Use OBJECT_LOCK and refcounting to get the pad caps in the
12937 buffer_alloc function because the caps could change while we are
12938 busy with them. Fixes #349105
12940 2006-07-31 Wim Taymans <wim@fluendo.com>
12942 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
12943 Protect _PAD_CAPS with OBJECT_LOCK.
12945 2006-07-31 Wim Taymans <wim@fluendo.com>
12947 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12948 (gst_pad_get_property), (gst_pad_activate_pull),
12949 (gst_pad_activate_push), (gst_pad_set_blocked_async),
12950 (gst_pad_set_activate_function),
12951 (gst_pad_set_activatepull_function),
12952 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
12953 (gst_pad_set_getrange_function),
12954 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
12955 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12956 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
12957 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
12958 (gst_pad_set_acceptcaps_function),
12959 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12960 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
12961 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
12962 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
12963 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
12964 (gst_pad_configure_sink), (gst_pad_configure_src),
12965 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
12966 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
12967 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
12968 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
12969 (gst_pad_send_event):
12970 Use _DEBUG_OBJECT when it makes sense.
12971 Protect GST_PAD_CAPS with the OBJECT_LOCK.
12972 Small cleanups and code reflows.
12973 Avoid caps refcounting in _accept_caps.
12974 Refactor alloc_buffer so that the code performed on the peer is in a
12975 separate function. Also if the pad does not implement a buffer alloc
12976 function, we should still check if the pad is flushing before falling
12977 back to the default allocator.
12979 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
12981 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12982 Make all uses of identity and fakesink have silent=true to avoid
12983 serialising every passing data structure, which is breaking tests
12984 on FC4 for some unknown reason.
12986 2006-07-30 Stefan Kost <ensonic@users.sf.net>
12988 * gst/parse/Makefile.am:
12989 * gst/parse/grammar.y:
12990 * gst/parse/parse.l:
12991 Reverted previous patch as it required to bump the flex dependency to
12992 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
12994 2006-07-30 Stefan Kost <ensonic@users.sf.net>
12996 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
12998 * gst/parse/Makefile.am:
12999 * gst/parse/grammar.y:
13000 * gst/parse/parse.l:
13001 push & pop the state of the lexer for reentrant use case
13004 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13006 * libs/gst/base/gstbasesrc.h:
13007 Note in the docs that the ::newsegment vfunc is not actually used by
13010 2006-07-28 Wim Taymans <wim@fluendo.com>
13012 * libs/gst/base/gstcollectpads.c:
13013 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13014 (gst_collect_pads_clear), (gst_collect_pads_flush),
13015 (gst_collect_pads_event), (gst_collect_pads_chain):
13016 When flushing a pad, also clear the queued buffer so that we don't
13017 accidentally use it when we shouldn't.
13018 Fix leaks by inreffing incomming buffer.
13019 Flush out queued buffers in case of errors.
13022 2006-07-28 Wim Taymans <wim@fluendo.com>
13024 * docs/random/phonon-gst:
13025 Random notes about a Phonon backend.
13027 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13029 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13031 * tests/check/libs/gdp.c: (gst_dp_suite):
13032 Take a whack at fixing the ppc compile using a different define to
13033 disable the broken test.
13035 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13036 Remove excess g_print()
13038 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13040 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13041 Oops, meant to uncomment this line too to dampen the noise a bit.
13043 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13045 * gst/parse/grammar.y:
13046 * gst/parse/parse.l:
13047 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13048 (GST_START_TEST), (parse_suite):
13049 Fix some of the leaks exposed by extending the parse-launch testsuite,
13050 and move the 3 I can't figure out into a separate test that won't run
13051 the pipelines unless the appropriate line is uncommented.
13053 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13055 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13056 Requesting 0 bytes before the end of the file should result in
13057 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13060 2006-07-27 Wim Taymans <wim@fluendo.com>
13062 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13063 Fix useless assert, a uint is always positive.
13065 * gst/gststructure.c: (gst_structure_nth_field_name),
13066 (gst_structure_foreach), (gst_structure_map_in_place):
13067 Check input arguments for public functions to avoid obvious crashes.
13069 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13070 * plugins/elements/gstfakesink.h:
13071 Do less useless typechecking.
13073 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13075 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13076 Do not use mmap() by default since there are a number of error
13077 conditions that we would like to handle in a non-fatal way that
13078 will result in a SIGBUS if we use mmap(). Examples: external
13079 devices (USB harddrive, portable music player) being unplugged
13080 while in use; file on mounted CD/DVD that can't be read because
13081 the medium is partly damaged. Fixes #348455 and #348475.
13083 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13086 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13087 rates are a gdouble
13089 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13091 * gst/gstregistry.c:
13092 Move big documentation comment into class section header, so that it
13093 appears in the API docs.
13095 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13097 * docs/gst/gstreamer-sections.txt:
13098 Oops. Commit the docs additions too for new API.
13099 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13101 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13103 * gst/gststructure.c: (gst_structure_id_set),
13104 (gst_structure_id_set_valist):
13105 * gst/gststructure.h:
13106 Add API for setting values into structures without performing
13107 a quark lookup, if the appropriate quark is already known.
13109 API: gst_structure_id_set
13110 API: gst_structure_id_set_valist
13112 * gst/parse/grammar.y:
13113 * gst/parse/parse.l:
13114 Remove some dead code shown by the coverage information.
13115 Don't throw a critical g_warning when encountering a syntax error,
13116 just warn and let the normal error path handle it.
13118 * plugins/elements/gstelements.c:
13119 Bump the rank of filesink up to PRIMARY so that it is preferred over
13120 gnomevfssink for file:// sink uri's
13122 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13123 (GST_START_TEST), (run_delayed_test),
13124 (gst_parse_test_element_base_init),
13125 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13126 (gst_parse_test_element_change_state),
13127 (gst_register_parse_element), (parse_suite):
13128 Beef up the tests for parse syntax to check that more error cases
13129 fail as they are supposed to. Increases the test coverage a bit.
13131 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13133 * docs/manual/basics-elements.xml:
13134 Fix gst_element_link() example.
13137 Mention in API docs that one should usually gst_bin_add()
13138 elements to a bin or pipeline before doing the linking.
13140 2006-07-26 Wim Taymans <wim@fluendo.com>
13142 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13143 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13144 Avoid function call for known types by keeping the buffer and
13145 subbuffer GType global.
13147 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13148 Random silly optimisations in read() path.
13150 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13152 * tools/gst-launch.c: (main):
13153 If the top-level of the parse is a normal bin, it doesn't do the
13154 right logic to run as a top-level element, so place it inside a
13157 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13159 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13160 Remove superfluous g_object_notify() calls, GObject does
13161 that for us automatically.
13163 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13166 on Win32, use dllspec to export the debug category symbols
13168 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13170 * gst/gsttaglist.c: (_gst_tag_initialize):
13171 Allow more than one GST_TAG_IMAGE per taglist.
13173 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13175 * gst/gstminiobject.c:
13177 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13178 (gst_fd_src_create):
13179 log recurring events at LOG level
13180 add more debug for when the fd gets set
13182 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13184 * gst/gstparse.c: (gst_parse_launch):
13185 Also remove reentrance checks if flex is MT safe (#348179)
13186 Fix my empty ChangeLog entry below
13188 2006-07-21 Andy Wingo <wingo@pobox.com>
13190 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13192 * libs/gst/check/Makefile.am
13193 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13194 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13195 * libs/gst/check/gstbufferstraw.h:
13196 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13197 functions, thus proving I am still a GStreamer haxor. OK I wrote
13198 them a long time ago, but anyways.
13200 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13203 * gst/gstparse.c: (gst_parse_launch):
13204 Check for flex version and omit mutex if we have a MT save flex
13207 2006-07-21 Wim Taymans <wim@fluendo.com>
13209 * gst/gstparse.c: (gst_parse_launch):
13210 Protect recursive calls to _parse with a recursive mutex
13213 2006-07-21 Wim Taymans <wim@fluendo.com>
13215 * tests/check/gst/gstpad.c: (GST_START_TEST):
13218 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13220 * gst/gstparse.c: (gst_parse_launch):
13221 Do not hang on recursive usage of gst_parse_launch()
13223 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13225 * gst/gsttaglist.c:
13226 Add some more docs, comments and FIXME 0.11s here and there
13227 and also fix some typos.
13229 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13231 * gst/gstsegment.h:
13232 Convert tabs to spaces for better readability.
13234 2006-07-20 Edward Hervey <edward@fluendo.com>
13236 * tests/check/libs/gdp.c: (gst_dp_suite):
13237 the test_buffer test fails at line 140 on ppc64 at the following
13239 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13240 GST_BUFFER_FLAG_IN_CAPS),
13241 "GST_BUFFER_IN_CAPS flag should have been copied !");
13242 See bug #348114 for more details.
13244 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13246 * docs/pwg/advanced-scheduling.xml:
13248 Fix typos (#348000).
13250 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13252 * docs/pwg/intro-basics.xml:
13253 Fix wrong links (#347927).
13255 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13257 * gst/gstregistry.h:
13258 * gst/gstregistryxml.c: (load_feature),
13259 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13260 * win32/common/config.h:
13261 make --disable-index work (#342564)
13263 2006-07-18 Wim Taymans <wim@fluendo.com>
13265 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13269 The attached patch adds two missing defines to gsttrace.h when tracing
13270 is disabled. It also corrects one existing define.
13273 2006-07-17 Wim Taymans <wim@fluendo.com>
13275 * docs/gst/gstreamer-sections.txt:
13276 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13278 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13279 Add two functions to check and change the SIGSEGV behaviour
13280 when loading plugins.
13281 Don't mess with the SIGSEGV handler when we were told not to.
13283 API: gst_segtrap_is_enabled
13284 API: gst_segtrap_set_enabled
13286 2006-07-14 Wim Taymans <wim@fluendo.com>
13288 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13289 * tests/check/elements/filesrc.c: (GST_START_TEST):
13290 Revert fix for regression in #347408 after release.
13292 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13294 Patch by: Antoine Tremblay <hexa00 at gmail com>
13296 * gst/gstutils.c: (gst_element_unlink):
13297 Free iterator when done (#347311).
13299 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13300 And add a test case for this.
13302 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13305 Bump nano back to CVS
13307 === release 0.10.9 ===
13309 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13312 releasing 0.10.9, "On the road again"
13314 2006-07-13 Wim Taymans <wim@fluendo.com>
13316 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13317 * tests/check/elements/filesrc.c: (GST_START_TEST):
13318 Revert pull-0 fix for release. Disable check. Fixes #347408.
13320 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13322 * libs/gst/dataprotocol/dataprotocol.c:
13323 (gst_dp_event_from_packet_1_0):
13324 Fixes #347337: failure to deserialize event packets with
13325 empty payload (only event type)
13327 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13330 do not install a .c file in the header directory
13332 2006-07-13 Edward Hervey <edward@fluendo.com>
13334 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13335 GhostPad no longer implicitely use the padtemplates of the targets.
13338 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13340 * gst/gstvalue.c: (gst_value_compare_list),
13341 (gst_value_compare_array), (_gst_value_initialize):
13342 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13343 Make GstValueArray comparison be order dependent as designed.
13344 Add checks for value lists and value array comparisons.
13347 2006-07-11 Edward Hervey <edward@fluendo.com>
13349 * gst/gstbin.c: (activate_pads),
13350 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13351 (gst_bin_change_state_func):
13352 (de)activate src pads before calling state_change on the childs.
13353 This is to avoid the case where a src ghostpad is blocked (holding the
13354 stream lock), which would block the deactivation of the ghostpad's
13356 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13357 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13358 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13359 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13360 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13361 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13362 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13363 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13364 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13365 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13366 (gst_ghost_pad_class_init),
13367 (gst_ghost_pad_internal_do_activate_push),
13368 (gst_ghost_pad_internal_do_activate_pull),
13369 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13370 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13371 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13372 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13373 GhostPads now create their internal GstProxyPad at creation (and not
13374 when they're linked, as it was being done previously).
13375 The internal and target pads are linked straight away.
13376 The data will also travel through the other pad in order to make
13377 pad blocking and probes non-hackish (the probe/block now really happens
13378 on the GhostPad and not on the target).
13379 * gst/gstpad.c: (gst_pad_set_blocked_async),
13380 (gst_pad_link_prepare), (gst_pad_push_event):
13381 Remove previous ghostpad cruft.
13382 * gst/gstutils.c: (gst_pad_add_data_probe),
13383 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13384 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13385 (gst_pad_remove_buffer_probe):
13386 Remove previous ghost pad cruft.
13387 Added more detailed debug statements.
13388 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13389 Fix the testsuite for refcounting changes.
13390 The comments about who has references were correct, but the refcount
13391 being checked wasn't the same (!?!).
13395 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13397 * docs/gst/gstreamer-sections.txt:
13398 * gst/gstconfig.h.in:
13399 More docs for configuration options, add docs to gtk-doc.
13401 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13404 * gst/gstconfig.h.in:
13405 * win32/common/config.h:
13406 Fix build when disabling tracing (fixes #344016). Also start to document
13407 the defines that disable the sub-systems.
13409 2006-07-10 Edward Hervey <edward@fluendo.com>
13411 * gst/gst.c: (ensure_current_registry_forking):
13412 let's make valgrind happy...
13414 2006-07-09 Wim Taymans <wim@fluendo.com>
13416 * gst/gstelement.c: (activate_pads),
13417 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13418 Better pad activation code: Reset the collect value too on resync.
13421 2006-07-09 Wim Taymans <wim@fluendo.com>
13423 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13424 (gst_pad_activate_push):
13425 Use some more macros where it makes sense.
13426 Allow pad mode switching instead of asserting. When a pad
13427 is activated in one mode and we activate it in another,
13428 deactivate it first before activating it in a different mode.
13431 2006-07-08 Andy Wingo <wingo@pobox.com>
13433 * tools/gst-launch.c (main): Handle err == NULL.
13435 * gst/gst.c (init_post, ensure_current_registry)
13436 (ensure_current_registry_forking)
13437 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13438 factoring out the registry scanning into separate functions. Don't
13439 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13440 Better environment var name/interface suggestions accepted.
13442 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13444 * gst/gstobject.c: (gst_object_set_name_default),
13445 (gst_object_set_name):
13446 Random micro-optimisation: don't use a hash table
13447 with strings as keys and the usual strdup/strcmp
13448 involved, but rather just use the GQuark of the
13449 type name as key, since it needs to be looked up
13450 anyway to get the type name string.
13452 * tests/check/gst/gstobject.c: (GST_START_TEST):
13455 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13457 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13458 (gst_bin_iterate_all_by_interface):
13459 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13460 GTypes are gulongs and thus the top 4 bytes might be cut
13461 off on some platforms when doing GPOINTER_TO_INT, leading
13462 to invalid GTypes and bad things happening (see RH bug #179654).
13463 Also add a check to make sure the type passed in is really
13466 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13471 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13475 * gst-element-check.m4:
13476 * gst-element-check.m4.in:
13477 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13478 instead of the unversioned gst-inspect (#324176, #168659).
13480 2006-07-06 Wim Taymans <wim@fluendo.com>
13482 * gst/gstmessage.h:
13483 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13486 2006-07-06 Wim Taymans <wim@fluendo.com>
13488 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13489 (gst_base_src_wait), (gst_base_src_update_length),
13490 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13491 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13492 (gst_base_src_loop), (gst_base_src_start),
13493 (gst_base_src_activate_pull):
13495 blocksize == 0 now means the default blocksize when working in push
13497 Remove some pointless asserts in _wait function.
13498 Fix offset/length calculations and EOS handling. We can now pull 0
13499 bytes as well, which is allowed.
13500 use _check_get_range() to decide if we can operate in _pull based
13502 Fix refcounting leak when check_get_range function was not
13504 API GstBaseSrc::blocksize range can be 0 too now (default)
13506 * tests/check/elements/filesrc.c: (GST_START_TEST),
13508 Added check to test _get_range() behaviour.
13510 2006-07-06 Wim Taymans <wim@fluendo.com>
13512 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13513 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13514 (gst_pad_pull_range):
13516 Lots of comments and docs added to the pad functions.
13517 Flesh out the expected behaviour of the get_range() functions.
13519 2006-07-06 Wim Taymans <wim@fluendo.com>
13524 * gst/gstiterator.h:
13528 Remove comma at end of enumerator list.
13530 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
13532 * win32/common/libgstbase.def:
13533 * win32/common/libgstdataprotocol.def:
13534 * win32/common/libsgtreamer.def:
13535 Add new exported functions.
13537 2006-07-05 Wim Taymans <wim@fluendo.com>
13539 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13540 Add some more docs here and there.
13542 2006-07-05 Wim Taymans <wim@fluendo.com>
13544 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13545 (gst_base_sink_loop), (gst_base_sink_get_position):
13546 When operating in pull mode update the offset so that we
13549 2006-07-05 Wim Taymans <wim@fluendo.com>
13551 * gst/gstregistryxml.c: (read_string):
13552 Avoid strdup. (will happen in libxml, but hey!)
13555 Add some more docs.
13557 2006-07-05 Wim Taymans <wim@fluendo.com>
13559 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13560 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13561 (gst_buffer_suite):
13562 No point in checking if the size of the subbuffer > 0, the
13563 code handles it correclty as demonstrated by unit test.
13564 Also add a unit test for the zero sized _new_and_alloc and
13565 _copy. Fixes #346663.
13567 2006-07-05 Wim Taymans <wim@fluendo.com>
13569 * libs/gst/base/gstbasetransform.c:
13570 (gst_base_transform_prepare_output_buffer),
13571 (gst_base_transform_buffer_alloc),
13572 (gst_base_transform_handle_buffer):
13573 Make sure the buffer we pass to transform_ip has a refcount of
13574 1 and thus is writable. Fixes #343196
13576 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
13578 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13579 (gst_file_src_init), (gst_file_src_set_property),
13580 (gst_file_src_get_property), (gst_file_src_map_region):
13581 * plugins/elements/gstfilesrc.h:
13582 Add "sequential" property, off by default, to use madvise and hint
13583 to the kernel that sequential access is desired.
13584 Touch all retrieved pages by default to ensure they are pulled
13585 into memory. (Closes #345720)
13587 2006-07-03 Wim Taymans <wim@fluendo.com>
13589 * docs/design/part-block.txt:
13590 * docs/design/part-dynamic.txt:
13591 Small docs updates.
13593 2006-07-03 Wim Taymans <wim@fluendo.com>
13595 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13596 (gst_caps_unref), (gst_static_caps_get),
13597 (gst_caps_append_structure):
13598 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13599 Use GSlice when the glib we build against is >= 2.10
13601 2006-07-03 Wim Taymans <wim@fluendo.com>
13603 * gst/gstelement.c: (gst_element_pads_activate):
13604 Small cleanup in pad activation code.
13606 2006-07-03 Wim Taymans <wim@fluendo.com>
13608 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13610 * gst/gst-i18n-app.h:
13611 * gst/gst-i18n-lib.h:
13612 * tools/gst-inspect.c: (print_signal_info):
13613 The attached patch will make the inclusion of gettext.h unconditional in
13614 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13615 libintl.h in tools/gst-inspect.c.
13616 This allows use of --disable-nls again and fixes #344642.
13618 2006-07-03 Edward Hervey <edward@fluendo.com>
13620 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13621 Implement pad blocking on events according to part-block.txt.
13622 More comments on behaviour.
13623 * tests/check/gst/gstevent.c: (test_event):
13624 Send event to peer pad of blocked pad (else it will block).
13626 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13628 * libs/gst/check/gstcheck.c: (gst_check_message_error),
13629 (gst_check_run_suite):
13630 if we get the wrong message, give us the types as string
13631 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13633 * tests/check/elements/filesrc.c: (GST_START_TEST):
13634 add a test for trying to open a non-existing file
13636 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13638 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13639 add a test for adding self
13641 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13643 * libs/gst/check/gstcheck.h:
13644 add some assert_ as alias for fail_unless_*
13645 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13646 increase test coverage
13648 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13651 include lcov.mak for lcov coverage generation
13652 * tools/Makefile.am:
13655 2006-07-02 Edward Hervey <edward@fluendo.com>
13657 * tests/check/elements/.cvsignore:
13660 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13663 don't set CFLAGS and friends for gcov, done from GST_GCOV now
13664 * tests/check/Makefile.am:
13665 clean up gcov files
13667 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13669 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13670 remove gst_caps_simplify; it was not declared and not used
13671 and deprecated in 0.8
13673 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13675 * docs/faq/gst-uninstalled:
13676 don't put empty paths on PYTHONPATH
13677 * docs/gst/gstreamer-sections.txt:
13678 remove some symbols that are not there
13680 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13682 * gst/gstcaps.c: (gst_caps_compare_structures):
13684 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13685 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13688 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13690 * libs/gst/dataprotocol/Makefile.am:
13691 build dataprotocol test by linking to the lib, instead of
13692 compiling the source, so we get coverage
13693 * tests/check/Makefile.am:
13694 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13695 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13696 add a test for filesrc
13698 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13700 * tests/check/gst/gststructure.c: (GST_START_TEST),
13701 (gst_structure_suite):
13702 Push coverage from 59.04% to 70.00%
13704 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13706 * tests/check/Makefile.am:
13707 gst-inspect every element; this makes sure that we also get
13708 coverage on element's get/set functions
13710 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13713 set CFLAGS and friends to -O0 if gcov is being used
13716 * libs/gst/base/Makefile.am:
13717 * libs/gst/check/Makefile.am:
13718 * libs/gst/controller/Makefile.am:
13719 * libs/gst/dataprotocol/Makefile.am:
13720 * libs/gst/net/Makefile.am:
13721 * plugins/elements/Makefile.am:
13722 * plugins/indexers/Makefile.am:
13723 add makefile rules to generate gcov data and clean up
13724 * tests/check/Makefile.am:
13725 add a coverage target that generates an html overview
13728 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13730 * tests/check/elements/fakesink.c:
13731 * tests/check/elements/fakesrc.c:
13732 * tests/check/elements/fdsrc.c:
13733 * tests/check/elements/identity.c:
13734 * tests/check/generic/sinks.c: (gst_sinks_suite):
13735 * tests/check/generic/states.c:
13736 * tests/check/gst/gst.c:
13737 * tests/check/gst/gstabi.c:
13738 * tests/check/gst/gstbin.c:
13739 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13740 * tests/check/gst/gstbus.c: (gst_bus_suite):
13741 * tests/check/gst/gstcaps.c: (GST_START_TEST):
13742 * tests/check/gst/gstelement.c:
13743 * tests/check/gst/gstevent.c: (gst_event_suite):
13744 * tests/check/gst/gstghostpad.c:
13745 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13746 * tests/check/gst/gstmessage.c: (gst_message_suite):
13747 * tests/check/gst/gstminiobject.c:
13748 * tests/check/gst/gstobject.c:
13749 * tests/check/gst/gstpad.c:
13750 * tests/check/gst/gstpipeline.c:
13751 * tests/check/gst/gstplugin.c:
13752 * tests/check/gst/gstquery.c: (gst_query_suite):
13753 * tests/check/gst/gstsegment.c: (gst_segment_suite):
13754 * tests/check/gst/gststructure.c:
13755 * tests/check/gst/gstsystemclock.c:
13756 * tests/check/gst/gsttag.c:
13757 * tests/check/gst/gsttask.c: (gst_task_suite):
13758 * tests/check/gst/gstutils.c:
13759 * tests/check/gst/gstvalue.c:
13760 * tests/check/libs/adapter.c:
13761 * tests/check/libs/basesrc.c:
13762 * tests/check/libs/collectpads.c:
13763 * tests/check/libs/controller.c:
13764 * tests/check/libs/gdp.c: (gst_dp_suite):
13765 * tests/check/libs/gstnetclientclock.c:
13766 * tests/check/libs/gstnettimeprovider.c:
13767 * tests/check/libs/libsabi.c: (libsabi_suite):
13768 * tests/check/libs/typefindhelper.c:
13769 * tests/check/pipelines/cleanup.c:
13770 * tests/check/pipelines/parse-launch.c:
13771 * tests/check/pipelines/simple-launch-lines.c:
13772 * tests/check/pipelines/stress.c: (stress_suite):
13775 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13777 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13778 * libs/gst/check/gstcheck.h:
13779 create a macro and function so that the simple unit test
13780 case can be just one macro to create main()
13782 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
13784 * gst/gstbin.c: (gst_bin_restore_thyself):
13785 * gst/gstxml.c: (gst_xml_make_element):
13786 Fix deserialisation from XML. Set parent manually
13787 instead of using gst_bin_add(), since gst_bin_add()
13788 will unlink all pads of the element being added.
13791 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
13793 Patch by: Peter Kjellerstedt <pkj at axis com>
13795 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
13796 Fix missing g_strdup() and double free when using the
13797 --gst-plugin-load command line option (#346097).
13799 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
13802 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13804 * libs/gst/net/gstnetclientclock.c:
13805 * libs/gst/net/gstnettimeprovider.c:
13806 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13808 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
13810 * docs/manual/advanced-dataaccess.xml:
13811 Fix buffer probe example compilation in
13814 2006-06-22 Edward Hervey <edward@fluendo.com>
13816 * gst/gstelement.c: (gst_element_pads_activate):
13817 We need to deactivate src pads first and then sink pads.
13818 The reason is the src pads might be blocking while holding the streaming
13819 lock, so we need to deactivate them first so that deactivating the sink
13820 pads doesn't block (since it will require the streaming lock).
13822 2006-06-22 Wim Taymans <wim@fluendo.com>
13824 * libs/gst/base/gstbasetransform.c:
13825 (gst_base_transform_buffer_alloc):
13826 Forgot to remove two unneeded unrefs.
13827 Simplify a check _is_equal allready checks the obvious case.
13829 2006-06-22 Wim Taymans <wim@fluendo.com>
13831 * docs/design/part-block.txt:
13832 Some docs about what pad_block should do.
13834 2006-06-22 Wim Taymans <wim@fluendo.com>
13836 * gst/gstcaps.c: (gst_caps_replace):
13837 Fix crasher when passed NULL. Doc clarification.
13838 Optimize for the trivial case.
13840 * gst/gstpipeline.c: (gst_pipeline_change_state):
13843 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13844 Small documentation cleanup.
13846 * libs/gst/base/gstbasetransform.c:
13847 (gst_base_transform_buffer_alloc):
13848 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
13849 is what we need and it avoids a whole lot of redundant
13850 refcount operations.
13852 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
13854 Patch by: Philip Jägenstedt <philip at lysator liu se>
13856 * docs/manual/advanced-dataaccess.xml:
13857 Fix 'Embedding static elements' section to use
13858 GST_PLUGIN_DEFINE_STATIC (#345607).
13860 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
13862 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
13863 Attempt to 'fix' spuriously failing test case: it seems like the
13864 timeout of half a second is simply too small when the system is under
13865 load otherwise, and the timeout doesn't really seem to serve any
13866 particular purpose here. Give the pipeline a few seconds to preroll
13867 first, and then give it another half a second to go from PAUSED to
13868 PLAYING and marshal the message into the main thread.
13870 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
13872 * tools/gst-feedback-m.m:
13873 Don't only use unversioned tools, try versioned tools as well
13876 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
13878 * gst/gstbus.c: (gst_bus_class_init):
13879 Fix some typos, make docs more explicit.
13881 2006-06-20 Wim Taymans <wim@fluendo.com>
13883 * tests/check/gst/gstghostpad.c: (block_callback),
13884 (GST_START_TEST), (gst_ghost_pad_suite):
13885 Added some more ghostpad tests, mainly blocking
13888 2006-06-16 Wim Taymans <wim@fluendo.com>
13890 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
13891 (gst_file_sink_close_file), (gst_file_sink_do_seek),
13892 (gst_file_sink_event), (gst_file_sink_render):
13893 * plugins/elements/gstfilesink.h:
13894 Check if we can seek in the file instead of assuming
13895 we always can. Post an error when we are asked to seek in a
13896 non-seekable file (like a fifo). Fixes #343312.
13899 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
13901 * tools/gst-launch.1.in:
13902 Un-garble (fourcc) bit in filtered caps section.
13904 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
13906 * docs/manual/advanced-autoplugging.xml:
13907 * docs/manual/basics-helloworld.xml:
13908 * docs/manual/highlevel-components.xml:
13909 Don't leak bus reference in sample code.
13911 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
13914 Add default for new --enable-plugin-docs switch.
13917 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
13920 * docs/Makefile.am:
13921 Use new ENABLE_PLUGIN_DOCS conditional.
13923 2006-06-14 Wim Taymans <wim@fluendo.com>
13925 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
13926 Make it clear with a FIXME and a real define what the #if 0
13927 previously disabled.
13929 2006-06-14 Wim Taymans <wim@fluendo.com>
13931 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13932 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13933 * libs/gst/base/gstbasetransform.c:
13934 (gst_base_transform_sink_eventfunc):
13935 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13936 Don't randomly and silently reset a segment when the format
13937 changes as this is a bug somewhere upstream. Fixes #330379.
13939 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
13941 Patch by: Wouter Paesen <wouter at kangaroot net>
13943 * libs/gst/controller/gstcontroller.c:
13944 (gst_controlled_property_new):
13945 Fix controlling of float properties (#344849).
13947 * tests/check/libs/controller.c:
13948 (gst_test_mono_source_get_property),
13949 (gst_test_mono_source_set_property),
13950 (gst_test_mono_source_class_init), (GST_START_TEST):
13951 While we're at it, add some float stuff to unit test.
13953 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
13956 * docs/images/gdp-header.svg:
13958 * docs/libs/Makefile.am:
13959 * docs/libs/gdp-header.png:
13960 * libs/gst/dataprotocol/dataprotocol.c:
13961 add it to the API docs
13962 * docs/manual/intro-motivation.xml:
13965 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
13967 * gst/gst.c: (scan_and_update_registry), (init_post):
13968 If the fork()'ed child process can't write the updated registry cache
13969 file to disk for some reason, make it exit with a failure exit code,
13970 so that the parent can then re-scan the plugins itself and update the
13971 registry structures in memory and work with that (rather than failing
13972 when creating elements because seemingly no plugins are available).
13973 Refactor registry scanning code into separate function for this and
13974 also separate fork() and non-fork() code paths. Fixes #344748.
13976 2006-06-13 Wim Taymans <wim@fluendo.com>
13978 * docs/manual/advanced-dataaccess.xml:
13979 Fix wrong PluginDesc. Fixes #344755.
13981 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
13983 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13984 Fix silly bug that prevented us from creating
13985 ~/.gstreamer-0.10 and writing the registry in one
13986 go (the first call to g_mkstemp() would overwrite the
13987 placeholder in the template string, so the second call
13988 to g_mkstemp() after creating the missing directory
13989 would then error out with 'invalid argument').
13991 2006-06-13 Edward Hervey <edward@fluendo.com>
13993 * gst/gst.c: (init_post):
13996 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
13998 * gst/glib-compat-private.h:
13999 * gst/glib-compat.c:
14000 * gst/glib-compat.h:
14001 * gst/gstvalue.c: (gst_value_serialize_flags):
14002 remove GLib 2.6 compatibility code
14004 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14006 * gst/parse/Makefile.am:
14007 Fix build with 'make -j N' even more (#340016).
14009 2006-06-12 Wim Taymans <wim@fluendo.com>
14011 * docs/gst/gstreamer-sections.txt:
14014 2006-06-12 Wim Taymans <wim@fluendo.com>
14016 * gst/gstsegment.c: (gst_segment_set_duration),
14017 (gst_segment_set_last_stop), (gst_segment_set_seek),
14018 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14019 (gst_segment_to_running_time), (gst_segment_clip):
14020 Use G_UNLIKELY to help the compiler a bit.
14022 2006-06-12 Wim Taymans <wim@fluendo.com>
14024 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14026 * gst/gstevent.c: (gst_event_get_type):
14027 * gst/gstmessage.c:
14028 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14030 constify quark registration strings. Fixes #344115
14031 Avoid unneeded type checking is _pad_push() by internally
14032 calling gst_pad_chain_unchecked().
14034 2006-06-12 Wim Taymans <wim@fluendo.com>
14036 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14037 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14038 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14039 (gst_buffer_is_span_fast), (gst_buffer_span):
14040 Init _type for consistency.
14041 Use _FLAGS macro to avoid type check.
14042 Avoid unneeded type checks in subbufer code.
14044 2006-06-12 Wim Taymans <wim@fluendo.com>
14046 * gst/gst.c: (gst_debug_help):
14047 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14048 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14049 (gst_plugin_feature_list_free):
14050 * gst/gstregistry.c: (gst_registry_add_plugin),
14051 (gst_registry_add_feature), (gst_registry_plugin_filter),
14052 (gst_registry_feature_filter), (gst_registry_find_plugin),
14053 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14054 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14055 * gst/gstregistryxml.c: (load_feature),
14056 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14057 * gst/gstminiobject.c: (gst_mini_object_unref),
14058 (gst_mini_object_replace), (gst_value_mini_object_free),
14059 (gst_value_mini_object_copy):
14060 Use _CAST macros to avoid unneeded type checking.
14061 Added some more G_UNLIKELY.
14063 2006-06-12 Wim Taymans <wim@fluendo.com>
14066 Avoid unneeded type checking.
14067 API: GST_BUFFER_IS_DISCONT
14069 * gst/gstminiobject.h:
14070 Avoid type check in flag accessor.
14072 * gst/gstelementfactory.h:
14074 * gst/gstpluginfeature.h:
14076 API: GST_ELEMENT_FACTORY_CAST
14077 API: GST_PLUGIN_CAST
14078 API: GST_PLUGIN_FEATURE_CAST
14080 2006-06-12 Wim Taymans <wim@fluendo.com>
14082 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14083 (gst_object_unref):
14084 Add G_UNLIKELY in type registration.
14085 Avoid type check in _ref/_unref since that is also
14088 2006-06-12 Wim Taymans <wim@fluendo.com>
14090 * gst/gsterror.c: (gst_g_error_get_type):
14091 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14092 (gst_static_pad_template_get_type):
14093 * gst/gsttaglist.c: (gst_tag_list_get_type):
14094 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14095 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14096 * gst/gsturi.c: (gst_uri_handler_get_type):
14097 * gst/gstvalue.c: (gst_date_get_type):
14098 * gst/gstxml.c: (gst_xml_get_type):
14099 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14100 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14101 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14102 Add G_UNLIKELY in type registration.
14104 2006-06-12 Wim Taymans <wim@fluendo.com>
14106 * tools/gst-inspect.c: (print_signal_info):
14107 Properly print enum values.
14109 2006-06-12 Wim Taymans <wim@fluendo.com>
14111 * gst/gstinfo.c: (gst_debug_set_active),
14112 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14114 Add some G_[UN]LIKELY.
14115 Maintain __gst_debug_min to avoid formatting the arguments of
14116 debug messages that will be dropped anyway to avoid a lot of
14117 overhead from the debugging system.
14119 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14122 * po/POTFILES.skip:
14123 add missing files containing translatable strings, tell intltool about
14126 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14128 * tests/check/libs/.cvsignore:
14129 add test-binary to ignore list
14131 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14133 * docs/libs/gstreamer-libs-docs.sgml:
14134 reorder (put dp into a chapter) and indent
14136 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14141 === release 0.10.8 ===
14143 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14146 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14148 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14150 * gst/gst.c: (init_post):
14151 move pid declaration to declaration block
14153 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14155 * gst/gst.c: (init_post):
14156 use _exit() instead of exit() in our forked child; this ensures
14157 that none of the registered exit handlers from whatever is using
14158 GStreamer get executed. This fixes gnome-mixer-applet failing
14159 to load, because ORBit would shut down.
14160 Spotted by: Edward Hervey <edward@fluendo.com>
14161 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14164 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14169 === release 0.10.7 ===
14171 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14174 releasing 0.10.7, "Soepeke, ik zie ou"
14176 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14199 * win32/common/config.h:
14200 0.10.6.2 prerelease
14202 2006-06-07 Wim Taymans <wim@fluendo.com>
14204 * gst/gstindex.c: (gst_index_gtype_resolver):
14205 * tools/gst-xmlinspect.c: (print_plugin_info):
14206 Fix leak spotted by coverity checker. Fixes #343827
14207 Fix another other leak found by paolo borelli.
14209 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14211 * libs/gst/dataprotocol/dataprotocol.c:
14212 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14213 (gst_dp_version_get_type), (gst_dp_init),
14214 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14215 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14216 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14217 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14218 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14219 (gst_dp_packetizer_free):
14220 * libs/gst/dataprotocol/dataprotocol.h:
14221 API: add a GstDPPacketizer object, and create/free functions
14222 API: add GstDPVersion enum
14223 Add 1.0 event function that uses the string serialization
14224 Serialize more useful buffer flags
14227 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14229 * tests/check/Makefile.am:
14230 * tests/check/gst/gstabi.c:
14231 * tests/check/gst/struct_ppc64.h:
14232 * tests/check/libs/libsabi.c:
14233 * tests/check/libs/struct_ppc64.h:
14234 add ppc64 structure sizes
14236 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14238 * tests/check/Makefile.am:
14239 * tests/check/gst/gstabi.c:
14240 * tests/check/gst/struct_x86_64.h:
14241 * tests/check/libs/libsabi.c:
14242 * tests/check/libs/struct_x86_64.h:
14243 generate and add structure size lists for x86_64
14245 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14247 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14248 * libs/gst/check/gstcheck.h:
14249 factor out the method from tests that checks size of structures,
14250 and add code to generate the header containing these sizes
14251 * tests/check/gst/gstabi.c: (GST_START_TEST):
14252 * tests/check/gst/struct_i386.h:
14253 * tests/check/libs/libsabi.c: (GST_START_TEST):
14254 * tests/check/libs/struct_i386.h:
14257 2006-06-06 Michael Smith <msmith@fluendo.com>
14259 * gst/gstsegment.h:
14260 Don't use c++-style comments, fixes #343929
14262 2006-06-05 Edward Hervey <edward@fluendo.com>
14265 plugin_paths is not used if we build without registry support.
14267 * gst/gstsegment.c: (gst_segment_copy):
14268 _copy() was always returning NULL...
14270 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14272 * libs/gst/dataprotocol/dataprotocol.c:
14273 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14274 (gst_dp_packet_from_event):
14275 factor out CRC code
14277 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14279 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14280 make sure we unset caps
14282 2006-06-02 Michael Smith <msmith@fluendo.com>
14284 * libs/gst/check/gstcheck.c: (gst_check_init),
14285 (gst_check_chain_func):
14286 * libs/gst/check/gstcheck.h:
14287 Add a cond/mutex to the check support lib, signal this whenever we
14288 add to the buffers list. This will allow tests to not busy-wait on
14291 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14293 * libs/gst/dataprotocol/dataprotocol.c:
14294 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14295 (gst_dp_packet_from_event):
14296 factor out some common header init code
14298 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14300 * docs/libs/gstreamer-libs-sections.txt:
14301 * docs/libs/tmpl/gstdataprotocol.sgml:
14302 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14303 * libs/gst/dataprotocol/dataprotocol.h:
14304 API: make gst_dp_crc() public
14306 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14308 * plugins/indexers/gstindexers.c: (plugin_init):
14309 conditionally register fileindexer (fixes #343598)
14311 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14313 * gst/gsttagsetter.h:
14314 Can't cast ifaces to a class
14316 * libs/gst/net/gstnetclientclock.h:
14317 * libs/gst/net/gstnettimeprovider.h:
14318 * plugins/elements/gstfakesink.h:
14319 * plugins/elements/gstfakesrc.h:
14320 * plugins/elements/gstfdsink.h:
14321 * plugins/elements/gstfdsrc.h:
14322 * plugins/elements/gstfilesink.h:
14323 * plugins/elements/gstfilesrc.h:
14324 * plugins/elements/gstidentity.h:
14325 * plugins/elements/gstqueue.h:
14326 * plugins/elements/gsttee.h:
14327 * plugins/indexers/gstfileindex.c:
14328 * plugins/indexers/gstmemindex.c:
14329 * tests/old/examples/plugins/example.h:
14330 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14332 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14334 * libs/gst/dataprotocol/dataprotocol.c:
14335 (gst_dp_header_from_buffer):
14336 make sure we zero the whole ABI-compatible area
14338 2006-06-01 Wim Taymans <wim@fluendo.com>
14340 Patch by: Alessandro Decina <alessandro at nnva dot org>
14342 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14343 Make sure the EOS flag is cleared from pads after a flush
14344 or stop. Fixes #343538.
14346 * tests/check/libs/collectpads.c: (GST_START_TEST),
14347 (gst_collect_pads_suite):
14348 Added test for collectpads reusage after EOS.
14350 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14353 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14354 * win32/common/libgstbase.def:
14355 export gst_collect_pads_set_flushing
14356 * win32/common/libgstreamer.def:
14357 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14358 gst_value_fraction_multiply
14359 * win32/vs6/gst_inspect.dsp:
14360 add a link to intl.lib
14362 2006-05-30 Wim Taymans <wim@fluendo.com>
14364 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14365 (gst_collect_pads_chain):
14366 Handle the case where a pad is removed from the collection
14367 that could cause the other pads to become collectable.
14369 2006-05-30 Wim Taymans <wim@fluendo.com>
14371 * gst/gstelement.c:
14372 Clarify the use of _release_request_pad() and
14373 _get_request_pad() a bit better.
14375 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14376 (gst_adapter_take_buffer):
14377 Fix some doc and comment typos.
14379 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14381 * docs/gst/gstreamer-sections.txt:
14382 * docs/libs/gstreamer-libs-sections.txt:
14383 add declared symbols
14385 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14387 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14388 Add debug that can be enabled using a #define at the top of the file,
14389 for dumping stats about how late/early we were when waking up from
14390 waiting on the clock.
14392 2006-05-30 Wim Taymans <wim@fluendo.com>
14394 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14395 When rebuilding the pad list, don't leak the previous list.
14397 2006-05-30 Wim Taymans <wim@fluendo.com>
14399 Patch by: Lutz Mueller <lutz at topfrose dot de>
14401 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14402 (gst_base_src_get_query_types), (gst_base_src_update_length):
14403 Publish supported query types.
14404 Update last_stop field in get_range mode so the position
14405 query works. Fixes #342321.
14407 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14409 * docs/gst/gstreamer-sections.txt:
14410 * gst/gsttaglist.c: (_gst_tag_initialize):
14411 * gst/gsttaglist.h:
14412 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14414 2006-05-30 Wim Taymans <wim@fluendo.com>
14416 Patch by: Alessandro Decina <alessandro at nnva dot org>
14418 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14419 Unlock mutex when removing an unknown pad.
14422 * tests/check/Makefile.am:
14423 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14424 (push_event), (setup), (teardown), (GST_START_TEST),
14425 (gst_collect_pads_suite), (main):
14426 Added collecpads check, disabled for now as check crashes for
14429 2006-05-29 Wim Taymans <wim@fluendo.com>
14431 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14432 Don't leak pads lists.
14434 2006-05-29 Wim Taymans <wim@fluendo.com>
14436 * docs/libs/gstreamer-libs-sections.txt:
14437 * libs/gst/base/gstcollectpads.c:
14438 (gst_collect_pads_set_flushing_unlocked),
14439 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14440 (gst_collect_pads_stop):
14441 * libs/gst/base/gstcollectpads.h:
14442 API: gst_collect_pads_set_flushing()
14443 Added api to set the pads to flushing, useful for seeking
14444 code in elements using collectpads.
14445 Clear segment when receiving a flush.
14447 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
14449 * gst/gst.c: (add_path_func), (init_post):
14450 Don't scan registry paths passed via --gst-plugin-path immediately
14451 (will crash, because absolutely nothing is set up and no types are
14452 registered etc.); do this later in init_post(). Fixes #343057.
14454 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
14456 * gst/gst.c: (init_post):
14457 if we have fork, fork while reading/rebuilding the registry
14458 so the parent doesn't take the hit of having all plugins loaded
14459 in memory. Fixes #342777.
14461 Check if we have fork()
14462 * win32/common/config.h.in:
14465 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14467 * plugins/elements/gstelements.c:
14468 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14469 (gst_file_src_init), (gst_file_src_set_property),
14470 (gst_file_src_get_property), (gst_file_src_start):
14471 * plugins/elements/gstfilesrc.h:
14472 API: GstFileSrc::use-mmap
14474 Add a use-mmap property to enable easier testing of all code paths.
14475 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14476 in the absence of gnomevfssrc. (Closes #340501)
14478 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
14480 * tools/gst-inspect.c:
14481 Add missing include, removes warning of ngettext not being defined on
14484 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14486 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14487 Handle NULL input and output pointers silently as a failed conversion,
14488 rather than g_warnings.
14490 2006-05-25 Wim Taymans <wim@fluendo.com>
14492 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14493 Initialize variable before using. Fixes #342820.
14495 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
14497 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14498 Fix off-by-one bug that would only allow peeks of N-1 bytes
14499 from the start even if the buffer to typefind on contains
14500 in fact N bytes of data (makes vorbis typefinding from a
14501 vorbis identification header buffer work).
14503 * tests/check/Makefile.am:
14504 * tests/check/libs/.cvsignore:
14505 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14506 (gst_typefindhelper_suite), (main), (foobar_typefind),
14508 Add very basic unit test for gst_type_find_helper_for_buffer()
14509 that checks for the problem fixed above.
14511 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
14513 * tools/gst-inspect.c: (print_interfaces),
14514 (print_element_properties_info), (print_element_list), (main):
14515 add more translatable strings
14517 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
14519 Patch by: Julien Moutte <julien at moutte net>
14521 * docs/gst/gstreamer-sections.txt:
14522 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14524 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14525 (gst_fake_sink_preroll):
14526 * plugins/elements/gstfakesink.h:
14527 API: Add new GstFakeSink::preroll-handoff signal (#337100).
14529 2006-05-23 Wim Taymans <wim@fluendo.com>
14531 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14533 Added _CUSTOM error and success GstFlowReturn that can be
14534 used be elements internally.
14535 Added macro to check for SUCCESS flowreturns.
14536 API: GST_FLOW_CUSTOM_SUCCESS
14537 API: GST_FLOW_CUSTOM_ERROR
14538 API: GST_FLOW_IS_SUCCESS
14540 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14541 Added check for GstFlowReturn sanity.
14543 2006-05-23 Wim Taymans <wim@fluendo.com>
14545 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14547 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14548 (gst_collect_pads_event):
14549 clear/reset segment info in FLUSH_STOP.
14552 2006-05-22 Stefan Kost <ensonic@users.sf.net>
14554 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14555 (gst_collect_pads_check_collected):
14556 Flush queued buffer on _stop(), fixes playing again (#342454)
14558 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
14560 * tests/check/gst/gststructure.c: (GST_START_TEST),
14561 (gst_structure_suite):
14562 add a test for a complete structure
14564 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14566 * docs/faq/developing.xml:
14567 * docs/faq/faq.xml:
14568 * docs/faq/troubleshooting.xml:
14569 * docs/faq/using.xml:
14570 Some minor FAQ updates that won't change the fact that
14571 our FAQ is badly structured, full of information hardly
14572 anyone new to GStreamer needs to know and lacking lots
14573 of information people constantly ask for.
14575 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
14577 * gst/gstpad.c: (gst_pad_set_caps):
14578 Short-circuit gst_pad_set_caps if setting the existing
14579 caps pointer again, and avoid printing debug and
14580 reffing/unreffing the caps.
14582 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14583 There's actually no need to set the caps before pushing -
14584 the acceptcaps method will handle it anyway.
14586 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14588 * docs/gst/gstreamer-sections.txt:
14589 * win32/common/libgstreamer.def:
14590 * gst/gstutils.c: (gst_element_seek_simple):
14592 API: add gst_element_seek_simple() (#342238).
14594 2006-05-18 Edward Hervey <edward@fluendo.com>
14596 * gst/gsttypefind.c: (gst_type_find_get_type):
14597 * gst/gsttypefind.h:
14598 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14599 registered for GstTypeFind pointers. This allows wrapping the structure
14600 in bindings (i.e. gst-python).
14602 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14604 * gst/gsttagsetter.c:
14605 Docs additions and fixes (see #339918).
14607 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
14609 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14610 The caps intersection algorithm can produce multiple copies of the
14611 caps. Until that is fixed, we need to simplify the result to be
14612 sure whether the allowed caps are fixed or not.
14614 * plugins/elements/gstqueue.c: (gst_queue_init),
14615 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14616 (gst_queue_push_one):
14617 Proxied buffer alloc should not set the caps on the source pad.
14618 When pushing buffers, we always accept the caps change that triggers.
14619 This prevents negotiation errors caused by caps changing mid-stream
14620 and then being refused on our source pad (because upstream is now
14621 refusing those caps).
14623 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14625 * tests/examples/helloworld/helloworld.c: (main):
14626 Must plug audioconvert and audioresample between decoder
14629 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
14631 * gst/gstregistryxml.c: (read_string), (load_pad_template),
14632 (load_feature), (load_plugin):
14633 Allow empty strings for some of the plugin fields so we don't
14634 drop valid plugin entries that were written out correctly
14637 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
14639 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14640 Use g_remove and g_rename instead of remove and rename that don't
14641 handle utf8 characters. rename was failing for users who had specific
14642 characters in their name then the registry was built at each
14644 * win32/vs6/gst_inspect.dsp:
14645 * win32/vs6/gst_launch.dsp:
14646 * win32/vs6/libgstbase.dsp:
14647 * win32/vs6/libgstcoreelements.dsp:
14648 * win32/vs6/libgstreamer.dsp:
14649 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
14650 build of libgstreamer and clean unused libraries in projects link
14653 2006-05-17 Edward Hervey <edward@fluendo.com>
14655 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14656 The queue is not responsible for pushing an EOS when receiving a fatal
14657 flow error. It's up to the real element driving the pipeline to do that.
14659 2006-05-16 Edward Hervey <edward@fluendo.com>
14661 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14662 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14663 buffer returned a fatal error. It should just send an EOS and stop
14665 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14666 when pushing buffers on the queue and will be able to handle the event.
14668 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
14670 * docs/manual/basics-bins.xml:
14671 * docs/manual/basics-init.xml:
14672 Fix typos and minor errors in sample code (#341856).
14674 2006-05-16 Wim Taymans <wim@fluendo.com>
14676 * docs/design/part-qos.txt:
14677 Fix indexes in formulas to make more sense.
14679 2006-05-15 Wim Taymans <wim@fluendo.com>
14681 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14682 Don't report POSITION based on clock time if sync is
14683 disabled in a sink.
14685 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
14688 Add cast to make compiler happy - refcount variable was a gint
14689 in GstObject but is a guint in GObject and g_atomic_int_get()
14692 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
14694 * gst/parse/Makefile.am:
14695 chain commands using &&, which also makes parallel make work
14697 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
14699 * docs/gst/gstreamer-sections.txt:
14702 * gst/gstmessage.h:
14705 === release 0.10.6 ===
14707 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
14710 releasing 0.10.6, "Take the cannoli"
14712 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
14714 * tools/gst-launch.c: (print_tag):
14715 Fix use of uninitialized variable in the hypothetical
14716 case that some broken plugin creates a GST_TAG_IMAGE
14717 tag containing a NULL buffer (#341667).
14719 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
14721 * tools/gst-launch.c: (print_tag):
14722 Print something more intelligible for image tags when
14723 using the -t switch (#341556).
14725 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
14730 define GST_MAJORMINOR so we have it available in win32/common/config.h
14731 Possibly remove it from our Makefile.am files later
14732 * win32/common/config.h:
14733 * win32/common/config.h.in:
14734 added GST_MAJORMINOR
14735 * win32/common/gstenumtypes.c: (register_gst_resource_error):
14736 * win32/common/gstversion.h:
14739 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
14742 Update win32 files listing.
14743 * win32/common/gstversion.h:
14744 Add GST_MAJORMINOR definition.
14745 * win32/common/libgstreamer.def:
14746 Add new exported functions.
14748 2006-05-12 Michael Smith <msmith@fluendo.com>
14750 * gst/gstplugin.c: (gst_plugin_load_file):
14751 If an so file has no plugin entry point, unload the module.
14753 2006-05-11 Wim Taymans <wim@fluendo.com>
14755 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14756 (gst_queue_set_property):
14757 Don't forget to signal the _chain or _loop function
14758 when the queue size or thresholds change since that might
14759 cause them to make progres again.
14761 2006-05-11 Stefan Kost <ensonic@users.sf.net>
14763 * gst/gstclock.c: (gst_clock_class_init):
14764 * gst/gstindex.c: (gst_index_class_init):
14765 * gst/gstobject.c: (gst_object_class_init):
14766 * gst/gstpad.c: (gst_pad_class_init):
14767 * gst/gstpipeline.c: (gst_pipeline_class_init):
14768 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14769 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14770 * libs/gst/base/gstbasetransform.c:
14771 (gst_base_transform_class_init):
14772 * libs/gst/net/gstnetclientclock.c:
14773 (gst_net_client_clock_class_init):
14774 * libs/gst/net/gstnettimeprovider.c:
14775 (gst_net_time_provider_class_init):
14776 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14777 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14778 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14779 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
14780 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14781 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
14782 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
14783 * plugins/elements/gstidentity.c: (gst_identity_class_init):
14784 * plugins/elements/gsttee.c: (gst_tee_class_init):
14785 * tests/old/examples/plugins/example.c: (gst_example_class_init):
14786 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14787 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
14789 2006-05-11 Wim Taymans <wim@fluendo.com>
14791 * gst/gstbuffer.c: (_gst_buffer_initialize):
14792 Register subbufer along with the buffer type so that
14793 it does not accidentally gets registered from N
14794 different streaming threads in a non threadsafe way.
14796 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
14800 * gst/gstmessage.h:
14801 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14802 gst_event_ref() and gst_message_ref() functions again
14803 (ugly hack, please do fix if there's a better way besides
14804 overrides.txt, which doesn't seem to work).
14806 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14808 * libs/gst/check/gstcheck.h:
14809 add an assert for setting state to avoid lots of repetitive code
14812 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14814 * gst/gstvalue.c: (gst_value_serialize_flags):
14815 fix a leak if no flags are set
14816 * tests/check/gst/gstvalue.c: (GST_START_TEST):
14819 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
14821 * docs/manual/basics-pads.xml:
14822 Expand a bit on caps and filtered links and update
14823 examples that were still using the no longer existing
14824 gst_pad_link_filtered() (#338206).
14826 2006-05-10 Wim Taymans <wim@fluendo.com>
14828 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14829 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14830 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14831 (gst_collect_pads_stop):
14832 * libs/gst/base/gstcollectpads.h:
14833 No need to call _stop in _finalize.
14834 Iterate the main pad list in _finalize.
14835 Added some more debug.
14836 Free lists and data in the right order.
14837 Also free data whem doing _remove_pad when stopped for
14838 backward compatibility protect ::started with PAD_LOCK as
14841 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14843 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
14844 (gst_structure_parse_value):
14846 rename a method so that it actually says what it does better
14848 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14850 * gst/gstevent.c: (_gst_event_initialize):
14851 * gst/gstformat.c: (_gst_format_initialize):
14852 make sure some essential types used by events are registered
14853 as part of gst_init()
14854 * gst/gstvalue.c: (gst_value_serialize_flags):
14855 if no flags are set, serialize them to a value that represents NONE
14856 so that deserializing them works
14857 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14858 add tests for serialization and deserialization of flags
14860 2006-05-10 Wim Taymans <wim@fluendo.com>
14862 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
14863 (gst_collect_pads_collect_range), (gst_collect_pads_available),
14864 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
14865 (gst_collect_pads_event), (gst_collect_pads_chain):
14868 Catch and return errors from the collect function
14869 Refuse data on eos pads.
14871 2006-05-10 Edward Hervey <edward@fluendo.com>
14873 * gst/gstinterface.h:
14874 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
14875 GInterface type checking.
14876 They were previously using non-defined macros.
14878 2006-05-09 Wim Taymans <wim@fluendo.com>
14880 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
14881 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
14882 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
14883 (gst_collect_pads_start), (gst_collect_pads_stop),
14884 (gst_collect_pads_peek), (gst_collect_pads_pop),
14885 (gst_collect_pads_available), (gst_collect_pads_read),
14886 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
14887 (gst_collect_pads_is_collected), (gst_collect_pads_event),
14888 (gst_collect_pads_chain):
14889 * libs/gst/base/gstcollectpads.h:
14890 Clean up the mess that is collectpads, add comments and
14891 FIXMEs where needed.
14892 Maintain a separate pad list so we can add pads while
14893 collecting the other ones. For this we need a new separate
14895 Fix memory leak in finalize.
14896 Refactor some weird code to set/unset pad flushing flags, mark
14898 Don't crash in _available, _read, _flush when we're EOS.
14900 * tests/check/libs/.cvsignore:
14901 Ignore adapter check binary.
14903 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
14905 * gst/gstindex.c: (gst_index_resolver_get_type):
14906 * plugins/elements/gstfakesink.c:
14907 (gst_fake_sink_state_error_get_type):
14908 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14909 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
14910 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
14911 Const-ify GEnumValue arrays.
14913 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
14915 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14916 Add test case for flags + gst_buffer_make_metadata_writable().
14918 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
14920 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
14921 gst_buffer_make_metadata_writable() should maintain the
14922 buffer flags (those that make sense at least) (see #340859).
14924 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
14926 * tools/gst-inspect.c:
14927 * tools/gst-launch.c:
14928 * tools/gst-typefind.c:
14929 * tools/gst-xmlinspect.c:
14931 Fix up includes: need to include stdlib.h in tools.h for exit().
14933 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
14935 * gst/gsttaglist.c: (_gst_tag_initialize):
14936 * gst/gsttaglist.h:
14937 API: add GST_TAG_IMAGE tag (#340721).
14939 2006-05-08 Wim Taymans <wim@fluendo.com>
14942 Added some docs for the segment query.
14944 2006-05-08 Wim Taymans <wim@fluendo.com>
14946 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14947 (gst_base_src_loop), (gst_base_src_change_state):
14948 Always push non-flushing serialized events in the streaming
14951 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
14953 * gst/gsterror.c: (_gst_stream_errors_init):
14954 Add a missing error string.
14956 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
14958 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
14959 Add applied_rate to the debug
14961 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
14962 Copy applied_rate into the outgoing NEWSEGMENT event
14964 2006-05-08 Wim Taymans <wim@fluendo.com>
14966 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
14968 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
14969 (gst_base_sink_change_state):
14970 call ::unlock before taking the PREROLL_LOCK so we can safely
14971 handle elements that lock in ::render.
14974 2006-05-08 Edward Hervey <edward@fluendo.com>
14976 * autogen.sh: (CONFIGURE_DEF_OPT):
14977 Darwin's libtoolize is in fact called glibtoolize.
14978 Adding glibtoolize to the list of accepted names for libtoolize.
14980 2006-05-08 Wim Taymans <wim@fluendo.com>
14982 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14983 Unify error handling, don't post an error message
14984 when a push() returns EOS but perform our normal EOS
14985 handling code. Fixes #340772.
14987 2006-05-08 Wim Taymans <wim@fluendo.com>
14989 * docs/design/part-overview.txt:
14990 Make upsteam/downstream concepts more clear.
14991 Give an example of serialized/non-serialized events.
14993 * docs/design/part-events.txt:
14994 * docs/design/part-streams.txt:
14995 Mention applied_rate.
14997 * docs/design/part-trickmodes.txt:
14998 Mention applied rate, flesh out some more use cases.
15000 * gst/gstevent.c: (gst_event_new_new_segment),
15001 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15002 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15003 (gst_event_parse_tag), (gst_event_new_buffer_size),
15004 (gst_event_parse_buffer_size), (gst_event_new_qos),
15005 (gst_event_parse_qos), (gst_event_parse_seek),
15006 (gst_event_new_navigation):
15008 Add applied_rate field to NEWSEGMENT event.
15009 API: gst_event_new_new_segment_full()
15010 API: gst_event_parse_new_segment_full()
15012 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15013 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15014 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15015 * gst/gstsegment.h:
15016 Add applied_rate to GstSegment structure.
15017 Make calculation of stream_time and running_time more correct
15018 wrt rate/applied_rate.
15019 Add some more docs.
15020 API: GstSegment::applied_rate field
15021 API: gst_segment_set_newsegment_full();
15023 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15024 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15025 * libs/gst/base/gstbasetransform.c:
15026 (gst_base_transform_sink_eventfunc),
15027 (gst_base_transform_handle_buffer):
15028 Parse and use applied_rate in the GstSegment field.
15030 * tests/check/gst/gstevent.c: (GST_START_TEST):
15031 Add check for applied_rate field.
15033 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15034 (gstsegments_suite):
15035 Add more checks for various GstSegment operations.
15037 2006-05-08 Wim Taymans <wim@fluendo.com>
15039 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15040 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15041 (gst_base_sink_get_position), (gst_base_sink_change_state):
15042 Store the sync time of the buffer end position separatly in a
15043 new variable eos_rtime so we can properly sync the EOS event.
15045 Fix the docs for gst_base_sink_set_qos_enabled().
15046 Don't set segment start to invalid value when we receive a
15047 non TIME newsegment.
15048 get closer to handling position reporting for negative rates
15051 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15054 Docs about how to print caps for debug purposes.
15056 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15057 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15059 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15061 * gst/gstelement.c:
15062 use full enum names and preprend a '%' in docs strings to make recent
15063 gtk-doc turn that into a link
15065 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15067 * docs/manual/basics-bins.xml:
15068 * docs/manual/basics-bus.xml:
15069 * docs/manual/basics-pads.xml:
15070 Some typo fixes, some additions, some clarifications.
15072 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15074 * tools/gst-inspect.c: (main):
15075 * tools/gst-launch.c: (main):
15076 * tools/gst-run.c: (main):
15077 * tools/gst-typefind.c: (main):
15078 * tools/gst-xmlinspect.c: (main):
15079 Use the string passed to g_option_context_new() for
15080 what it's intended for - the program name is already
15083 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15085 * tools/Makefile.am:
15086 * tools/gst-inspect.c: (main):
15087 * tools/gst-launch.c: (main):
15088 * tools/gst-xmlinspect.c: (main):
15090 Add back --version command line option (#340460).
15092 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15093 Add --version option and use GOption for argument parsing; refactor a
15094 bit; accept directories as arguments and recurse into them; lastly,
15095 print a decent error message when things go wrong.
15097 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15099 * docs/manual/basics-bins.xml:
15100 Don't mention GstThread (#340611)
15101 * docs/manual/basics-elements.xml:
15102 Update link to GObject tutorial (#340607)
15104 2006-05-05 Wim Taymans <wim@fluendo.com>
15107 * gst/gstminiobject.c:
15108 Add note about refcounting and miniobject/buffer writeability
15109 to docs. Fixes #340604
15111 * gst/gstelementfactory.h:
15112 Added some explanation about @klass.
15114 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15116 * docs/manual/intro-motivation.xml:
15117 * docs/manual/manual.xml:
15118 Avoid CORBA & Bonobo references (#340598)
15120 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15122 * docs/manual/basics-bus.xml:
15123 * docs/manual/basics-pads.xml:
15124 Fix up some inaccuracies and omissions (#340609)
15126 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15128 * gst/gstghostpad.c:
15129 Small typo in docs (#340625)
15131 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15133 * gst/parse/Makefile.am:
15134 Make 'make -j' proof (see #340698).
15136 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15139 Require GLib-2.8 here as well.
15141 2006-05-05 Wim Taymans <wim@fluendo.com>
15143 * gst/glib-compat.c:
15144 * gst/gst.c: (init_pre):
15145 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15146 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15147 (gst_object_dispatch_properties_changed):
15149 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15150 * gst/gststructure.c: (gst_structure_set_valist):
15151 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15152 Remove pre glib2.8 compatibility, fixes #340508
15154 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15156 * gst/gsttaglist.h:
15157 Mention type of tags in doc blurbs.
15159 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15161 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15162 (gst_pad_configure_src), (gst_pad_push):
15163 Restore acceptcaps checking behaviour now that good plugins have
15166 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15168 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15175 * gst/gstmessage.c:
15179 * gst/parse/Makefile.am:
15180 * libs/gst/base/gstadapter.c:
15181 * libs/gst/base/gstbasesrc.c:
15182 * libs/gst/base/gstpushsrc.c:
15183 * libs/gst/base/gsttypefindhelper.c:
15184 * plugins/elements/gstfakesrc.c:
15185 * plugins/elements/gstidentity.c:
15186 Make sure gstprivate.h and/or config.h are
15187 always included first, otherwise some of our
15188 defines (like _FILE_OFFSET_BITS) might be
15189 redefined in the system headers. Fixes build
15190 on opensolaris (#340016).
15192 2006-05-04 Wim Taymans <wim@fluendo.com>
15194 * docs/libs/gstreamer-libs-sections.txt:
15195 API: addition: gst_adapter_take_buffer()
15197 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15198 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15199 (gst_adapter_available_fast):
15200 * libs/gst/base/gstadapter.h:
15201 Prepare for optimizing the hell out of this hugely inefficient
15203 Added gst_adapter_take_buffer() so we can at least start thinking
15204 about subbuffering and merging.
15205 Added some comments.
15207 * tests/check/Makefile.am:
15208 * tests/check/libs/adapter.c: (GST_START_TEST),
15209 (gst_adapter_suite), (main):
15210 Added GstAdapter check.
15212 2006-05-04 Wim Taymans <wim@fluendo.com>
15214 * docs/design/part-overview.txt:
15215 Fix some typos, add blurb about buffer flags.
15217 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15219 * docs/libs/gstreamer-libs-sections.txt:
15220 make sure GstBaseTransformClass shows up in the docs
15221 * libs/gst/base/gstbasetransform.c:
15222 * libs/gst/base/gstbasetransform.h:
15223 move docs so gtk-doc picks it up now
15225 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15227 * docs/libs/gstreamer-libs-sections.txt:
15228 add missing symbols to docs
15230 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15232 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15233 back out the newsegment handling change, see #340060 for ongoing
15236 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15238 * tools/gst-run.c: (get_candidates), (main):
15239 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15240 work); fix typo in error message. Fixes #340079.
15242 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15244 * common/Makefile.am:
15245 * docs/Makefile.am:
15246 * docs/faq/Makefile.am:
15247 * docs/gst/Makefile.am:
15248 * docs/libs/Makefile.am:
15249 * docs/manual/Makefile.am:
15250 * docs/plugins/Makefile.am:
15251 * docs/pwg/Makefile.am:
15252 * docs/slides/Makefile.am:
15254 * common/upload.mak:
15255 move upload.mak to common
15257 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15259 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15260 add more asserts on refcounts
15261 do more cleanup at end of tests
15262 fix test leaks showing in FC5
15264 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15266 * plugins/elements/gsttypefindelement.c:
15267 (gst_type_find_element_handle_event):
15268 reverted wrong change and reflowed code to avoid others falling into
15271 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15273 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15274 fix changelog entry about last collectpads change,
15275 add notes about proper fix
15277 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15280 * gst/gstregistry.c: (gst_registry_scan_path_level),
15281 (gst_registry_scan_path):
15282 * gst/gstregistry.h:
15283 only write out registry if it has changed, fixes #338339
15285 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15288 * gst/gstpipeline.c:
15289 * plugins/elements/gstcapsfilter.c:
15290 * plugins/elements/gstfakesink.c:
15291 * plugins/elements/gstfakesrc.c:
15292 * plugins/elements/gstfdsink.c:
15293 * plugins/elements/gstfdsrc.c:
15294 * plugins/elements/gstfilesink.c:
15295 * plugins/elements/gstfilesrc.c:
15296 * plugins/elements/gstidentity.c:
15297 * plugins/elements/gstqueue.c:
15298 * plugins/elements/gsttee.c:
15299 * plugins/elements/gsttypefindelement.c:
15300 (gst_type_find_element_handle_event):
15301 make GstElementDetails const
15303 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15305 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15306 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15307 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15308 more detailed debug and formatting cleanup,
15309 forward newsegments to src-pad (so that e.g. adder not eats them)
15311 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15313 * gst/gstutils.c: (gst_element_link_pads):
15314 cleanup double code
15316 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15318 * libs/gst/controller/gstcontroller.c:
15319 (gst_controller_sync_values):
15321 * tests/check/libs/controller.c: (GST_START_TEST),
15322 (gst_controller_suite):
15323 a new test for live value handling
15325 2006-04-28 Wim Taymans <wim@fluendo.com>
15327 * gst/gstutils.c: (push_and_ref):
15328 Added some more docs.
15329 Fix refcount issue whith gst_element_found_tags() helper
15330 function. Fixes #338335
15332 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15333 Added testsuite for gst_element_found_tags().
15335 2006-04-28 Michael Smith <msmith@fluendo.com>
15337 * gst/gstvalue.c: (gst_value_serialize_flags):
15338 Avoid NULL dereference when trying to serialize flags containing
15341 2006-04-28 Michael Smith <msmith@fluendo.com>
15343 * plugins/elements/gsttypefindelement.c:
15344 (gst_type_find_element_handle_event):
15345 If we get EOS before any data is accumulated, don't use
15346 uninitialised local variables.
15348 2006-04-28 Michael Smith <msmith@fluendo.com>
15350 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15351 (gst_dp_event_from_packet):
15352 Fixes in reading/writing events over GDP (not currently used?) -
15353 dereferencing NULL events for unknown/invalid event types, memory
15354 leak, and change g_warning to GST_WARNING.
15356 2006-04-28 Wim Taymans <wim@fluendo.com>
15358 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15359 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15360 (gst_base_sink_get_position), (gst_base_sink_change_state):
15361 When frame dropping is enabled, we should not ignore frames
15362 without a duration.
15363 Update some documentation.
15365 2006-04-28 Wim Taymans <wim@fluendo.com>
15367 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15368 (gst_base_src_send_event), (gst_base_src_change_state):
15369 Documentation updates.
15371 2006-04-28 Wim Taymans <wim@fluendo.com>
15373 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15374 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15375 handle EAGAIN, EINTR and short writes correctly. Also clean
15376 up some error cases, avoid a deadlock on bad file descriptors and
15377 use GST_DEBUG_OBJECT.
15380 2006-04-28 Wim Taymans <wim@fluendo.com>
15382 * gst/gstvalue.c: (gst_value_serialize_buffer),
15383 (gst_value_deserialize_buffer):
15384 Don't try to serialize a GValue with a NULL buffer.
15387 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15388 Added check for serialisation of NULL buffers.
15390 2006-04-28 Wim Taymans <wim@fluendo.com>
15392 * gst/gstminiobject.c: (gst_value_take_mini_object):
15393 Taking a NULL miniobject is valid, fix the case where
15394 we try to unref the NULL miniobject.
15396 2006-04-28 Wim Taymans <wim@fluendo.com>
15398 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15400 * gst/gstbin.c: (gst_bin_handle_message_func):
15402 Don't leak bin refcount when a state recalc is
15403 in progress and we delay another one #339808.
15405 2006-04-28 Wim Taymans <wim@fluendo.com>
15407 * docs/design/part-TODO.txt:
15408 Mention QoS as an ongoing work item.
15410 * docs/design/part-buffering.txt:
15411 New doc about buffering that needs to be fleshed out
15414 * docs/design/part-qos.txt:
15415 More QoS policy for decoders/demuxers/transforms
15417 * docs/design/part-trickmodes.txt:
15420 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15425 === release 0.10.5 ===
15427 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15430 releasing 0.10.5, "Fogo"
15432 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15434 patch by: Wim Taymans
15436 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15437 (gst_pad_configure_src), (gst_pad_push):
15438 * gst/gstpipeline.c: (gst_pipeline_init):
15439 Fix internal data flow errors. Fixes #338711.
15441 2006-04-12 Wim Taymans <wim@fluendo.com>
15443 * tests/check/gst/gstelement.c: (GST_START_TEST):
15444 Don't leak the factory.
15446 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
15449 * win32/common/config.h:
15452 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
15454 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15455 (gst_controller_unset_all):
15456 Free allocated GstTimedValues when freeing list nodes.
15457 Should fix leaks 'make check-valgrind' complains about.
15459 * win32/common/libgstcontroller.def:
15460 Add gst_controller_unset_all.
15462 2006-04-11 Stefan Kost <ensonic@users.sf.net>
15464 * docs/libs/gstreamer-libs-sections.txt:
15465 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15466 (gst_controller_unset_all):
15467 * libs/gst/controller/gstcontroller.h:
15468 API: Added new method gst_controller_unset_all()
15469 fixed gst_controller_unset()
15470 * tests/check/libs/controller.c: (GST_START_TEST),
15471 (gst_controller_suite):
15472 Added two testcases for new and fixed method
15474 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
15476 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15477 MSG_DONTWAIT is not defined on Cygwin, so work
15478 around that (fixes #317048).
15480 2006-04-11 Wim Taymans <wim@fluendo.com>
15482 * gst/gstelementfactory.c: (gst_element_register),
15483 (gst_element_factory_create), (gst_element_factory_make):
15486 Updated docs (Fixes #131079)
15488 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15491 * tests/check/gst/gstelement.c: (GST_START_TEST),
15492 (gst_element_suite):
15493 Added testcase for elementfactory class field.
15495 2006-04-10 Wim Taymans <wim@fluendo.com>
15497 * gst/gstsegment.c:
15498 Added some more docs.
15500 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15501 (gst_base_sink_reset_qos):
15502 Calculate more accurate rate values.
15504 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
15506 * gst/gst_private.h:
15507 add a new #ifdef to use __declspec(dllimport) only for
15508 other modules and not for gstreamer core
15509 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15510 use gst_guint64_to_gdouble for conversion
15511 * win32/common/libgstreamer.def:
15512 add new exported functions
15513 * win32/vs6/gst_inspect.dsp:
15514 * win32/vs6/gst_launch.dsp:
15515 * win32/vs6/libgstbase.dsp:
15516 * win32/vs6/libgstcontroller.dsp:
15517 * win32/vs6/libgstcoreelements.dsp:
15518 * win32/vs6/libgstdataprotocol.dsp:
15519 * win32/vs6/libgstnet.dsp:
15520 update project files
15522 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15524 * gst/gstbuffer.c: (gst_subbuffer_class_init):
15525 * gst/gstclock.c: (gst_clock_class_init):
15526 * gst/gstelement.c: (gst_element_class_init):
15527 * gst/gstindex.c: (gst_index_class_init):
15528 * gst/gstindexfactory.c: (gst_index_factory_class_init):
15529 * gst/gstobject.c: (gst_object_class_init),
15530 (gst_signal_object_class_init):
15531 * gst/gstpad.c: (gst_pad_class_init):
15532 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15533 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15534 * gst/gstregistry.c: (gst_registry_class_init):
15535 * gst/gstsystemclock.c: (gst_system_clock_class_init):
15536 * gst/gsttask.c: (gst_task_class_init):
15537 * gst/gstxml.c: (gst_xml_class_init):
15538 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15539 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15540 (gst_base_src_loop):
15541 * libs/gst/controller/gstcontroller.c:/
15542 (_gst_controller_class_init):
15543 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15544 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15545 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15546 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15547 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15548 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15550 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
15552 * gst/gstpad.c: (gst_pad_link):
15553 Must set peer pads before calling the link function, otherwise
15554 a task started from a link function might get a flow-not-linked
15555 result when trying to push because the other thread where the
15556 linking happens hasn't had a chance to set the peers yet. This
15557 might happen for example when a queue gets linked to a downstream
15558 element, as queue starts a streaming task when its source pad
15559 gets linked. Happens in real life when playing back flac/musepack
15560 files in playbin (#332390).
15562 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15566 * libs/gst/base/gstadapter.h:
15567 * libs/gst/base/gstbasesink.h:
15568 * libs/gst/base/gstbasesrc.h:
15569 * libs/gst/base/gstbasetransform.h:
15570 * libs/gst/base/gstcollectpads.h:
15571 * libs/gst/base/gstpushsrc.h:
15572 Fix broken GObject macros
15574 2006-04-07 Wim Taymans <wim@fluendo.com>
15576 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15577 Initialize start and stop times, thanks valgrind.
15579 2006-04-07 Wim Taymans <wim@fluendo.com>
15581 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15582 Be a bit nicer to badly behaving upstream elements that expect
15583 us to deal with non TIME segments and timestamps (such as fakesrc
15586 2006-04-07 Wim Taymans <wim@fluendo.com>
15589 Small documentation clarification about the signal watch.
15591 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15592 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15593 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15594 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15595 (gst_base_sink_get_position_last),
15596 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15597 Convert and store timestamps in stream time and running time, the
15598 raw timestamps are not useful, also document this better.
15599 Use different window sizes for good and bad QoS observations so
15600 we react to badness a little quicker.
15601 Keep track of the amount of rendered and dropped buffers.
15602 Send QoS timestamps in running time.
15604 * libs/gst/base/gstbasetransform.c:
15605 (gst_base_transform_sink_eventfunc),
15606 (gst_base_transform_handle_buffer):
15607 Compare QoS timestamps against running time.
15609 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15612 Typo fixes in docs.
15614 2006-04-06 Michael Smith <msmith@fluendo.com>
15616 * gst/gstpad.c: (gst_pad_set_property):
15617 Use g_value_get_object() instead of g_value_dup_gst_object(),
15618 to avoid double-reffing the pad template (which we then sink,
15619 so this worked previously if (and only if) the pad template
15622 * gst/gstpadtemplate.c: (gst_pad_template_init),
15623 (gst_pad_template_pad_created):
15624 Never return floating references to pad templates, create
15625 them as initially-sunken.
15627 Document an extra function (and make this stop sinking our
15628 pad template, since that is now guaranteed to do nothing,
15629 since we created it sunken).
15631 * gst/gstghostpad.c:
15634 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15636 * gst/gstinfo.c: (__gst_in_valgrind):
15639 * plugins/elements/gsttypefindelement.c:
15640 (gst_type_find_element_chain):
15641 Don't leak buffer caps.
15643 2006-04-06 Michael Smith <msmith@fluendo.com>
15645 * gst/parse/grammar.y:
15646 Fix a leak in parse-launch for any source-or-sink named element
15649 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15650 Unref the pipeline if it exists after we've failed parsing.
15652 2006-04-05 Michael Smith <msmith@fluendo.com>
15654 * gst/gstpipeline.c: (gst_pipeline_init):
15655 When we create a pipeline bus, initially create it in flushing mode.
15656 Fixes leaks in at least one test, and makes a new pipeline work the
15657 same as one that has gone to READY and then back to NULL.
15659 * gst/gstelement.c:
15662 2006-04-05 Michael Smith <msmith@fluendo.com>
15664 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15665 Unref a pad we reffed.
15666 * tests/check/gst/gstutils.c: (GST_START_TEST):
15669 2006-04-05 Michael Smith <msmith@fluendo.com>
15671 * gst/gstquery.c: (gst_query_set_formats),
15672 (gst_query_set_formatsv):
15673 Fix leaking GValues in queries, as shown by valgrind/testsuite.
15675 2006-04-05 Michael Smith <msmith@fluendo.com>
15677 * tests/check/generic/sinks.c: (GST_START_TEST):
15678 Fix a variety of memleaks in sinks check, which are only sometimes
15679 shown by running the tests under valgrind (weird?).
15681 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
15683 * docs/version.entities.in:
15684 Fix the substituted entity name after thomas' changes on the
15687 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
15689 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15692 2006-04-05 Andy Wingo <wingo@pobox.com>
15694 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15696 * libs/gst/base/gstbasetransform.c
15697 (gst_base_transform_sink_eventfunc): When resetting our segment on
15698 FLUSH_STOP, also update the flag saying we haven't seen a
15701 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15703 Patch by: Paolo Borelli <pborelli at katamail dot com>
15705 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15706 (gst_plugin_check_license):
15707 minor clean-ups: G_DEFINE_TYPE already takes care of the
15708 parent_class stuff, no need to do it twice. Mark array of
15709 license strings as constant. (#337103)
15711 2006-04-04 Michael Smith <msmith@fluendo.com>
15713 * tools/gst-inspect.c: (print_element_list):
15714 Free the right plugin list; fixes a memory leak.
15716 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15718 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15720 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15721 Don't error out on empty buffers (#336945).
15723 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
15725 * docs/libs/gstreamer-libs-sections.txt:
15726 * gst/gsttaglist.c:
15727 * libs/gst/base/gstbasesink.c:
15728 * libs/gst/base/gstbasesink.h:
15729 * libs/gst/base/gstbasesrc.c:
15730 * libs/gst/base/gstbasesrc.h:
15731 Documentation updates. Make BaseSink and BaseSrc docs contain the
15732 class structure so that people can actually see the prototypes for
15733 virtual functions they're supposed to be overriding.
15735 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15737 * plugins/elements/gsttypefindelement.c:
15738 (gst_type_find_element_chain):
15739 More debug info; when skipping typefinding, send cached
15740 events in all cases.
15742 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
15745 use new AS_VERSION and AS_NANO macros
15746 * gst/gst-i18n-lib.h:
15749 * gst/gstversion.h.in:
15750 * win32/common/config.h:
15751 * win32/common/config.h.in:
15754 2006-03-31 Michael Smith <msmith@fluendo.com>
15756 * plugins/elements/gsttypefindelement.c:
15757 (gst_type_find_element_chain):
15758 Do not typefind content if the buffers already have caps.
15759 Neccesary for icydemux (#333657), and the right thing to do anyway.
15761 2006-03-30 Wim Taymans <wim@fluendo.com>
15763 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15764 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15765 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15766 (gst_base_sink_record_qos_observation),
15767 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15768 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15769 (gst_base_sink_change_state):
15770 More QoS measurements as described in the design doc.
15771 Get rid of ringbuffer with observations, running average is
15772 more simple and equally good.
15773 Calculates valid proportion now.
15774 Added beginning of flood measurement.
15776 2006-03-29 Wim Taymans <wim@fluendo.com>
15778 * docs/design/part-qos.txt:
15780 Small documentation updates and additions.
15782 2006-03-29 Wim Taymans <wim@fluendo.com>
15784 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15785 (gst_base_src_send_event), (gst_base_src_loop),
15786 (gst_base_src_change_state):
15787 Perform the EOS logic when we reach the segment stop position.
15788 Fix compilation on gcc4.1
15790 2006-03-29 Wim Taymans <wim@fluendo.com>
15792 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
15794 * plugins/elements/gstqueue.c: (gst_queue_init),
15795 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15796 (gst_queue_set_property):
15797 * plugins/elements/gstqueue.h:
15798 In queue, when EOS is received, if minimum threshold > max_size -
15799 current_level, there is chance that queue blocks forever in conditional
15800 item del wait. This is because the queue is not emptied completely due
15801 to minimum threshold. Here is another approach. Instead of setting
15802 cur_levels to max in EOS, just zero all minimum threshold levels. This
15803 should make sure that queue gives out all data. When going to READY
15804 (stop) state, just reset the original minimum threshold levels.
15807 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
15809 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15810 (gst_type_find_element_handle_event),
15811 (gst_type_find_element_send_cached_events),
15812 (gst_type_find_element_change_state):
15813 * plugins/elements/gsttypefindelement.h:
15814 When typefinding is done in push mode, we should cache
15815 events we receive during typefinding instead of just
15816 dropping them (e.g. newsegment, custom events from
15817 dvdreadsrc etc.) and then send them out once we've
15818 determined the type of the stream (and decodebin
15819 has had a chance to plug in a decoder/demuxer).
15821 2006-03-27 Wim Taymans <wim@fluendo.com>
15823 * docs/design/part-qos.txt:
15826 2006-03-27 Wim Taymans <wim@fluendo.com>
15828 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
15830 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15831 (gst_base_src_send_event), (gst_base_src_change_state):
15832 Handle element seek correctly when we are streaming.
15835 2006-03-24 Michael Smith <msmith@fluendo.com>
15837 * docs/faq/gst-uninstalled:
15838 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
15839 allow you to correctly run intalled applications built against old
15840 core, using plugins that require updated core (e.g. running
15841 installed totem against a full uninstalled gstreamer stack)
15843 2006-03-24 Stefan Kost <ensonic@users.sf.net>
15845 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15848 2006-03-24 Wim Taymans <wim@fluendo.com>
15850 * docs/gst/gstreamer-sections.txt:
15851 Rearrange the order of the methods so that related methods
15852 are grouped together in sections.
15854 2006-03-24 Stefan Kost <ensonic@users.sf.net>
15856 * gst/gstelement.c:
15857 Little clarification in the docs
15859 2006-03-24 Stefan Kost <ensonic@users.sf.net>
15863 * plugins/elements/gstidentity.c:
15864 * plugins/elements/gstqueue.c:
15865 * plugins/elements/gsttee.c:
15866 * plugins/elements/gsttypefindelement.c:
15867 GST_ELEMENT_DETAILS formatting
15869 2006-03-24 Wim Taymans <wim@fluendo.com>
15871 * libs/gst/base/gstbasesink.h:
15872 Only add fields, not insert or we break ABI.
15874 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
15876 * win32/common/libgstbase.def:
15877 * win32/common/libgstreamer.def:
15878 Update, add recently added functions.
15880 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
15882 * docs/gst/gstreamer-sections.txt:
15883 * gst/gstutils.c: (gst_pad_query_peer_position),
15884 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
15886 API: add some new utility functions:
15887 - gst_pad_query_peer_position()
15888 - gst_pad_query_peer_duration()
15889 - gst_pad_query_peer_convert()
15891 2006-03-23 Wim Taymans <wim@fluendo.com>
15893 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15894 (gst_base_sink_init), (gst_base_sink_finalize),
15895 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
15896 (gst_base_sink_set_property), (gst_base_sink_get_property),
15897 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
15898 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15899 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
15900 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15901 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15902 (gst_base_sink_preroll_object), (gst_base_sink_event),
15903 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
15904 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
15905 (gst_base_sink_query), (gst_base_sink_change_state):
15906 Decouple max-lateness and the fact that QoS messages are generated
15907 with a new property (qos).
15908 added API: GstBaseSink::async_play()
15909 Add vmethod so subclasses can be notified of ASYNC playing
15911 Collect timestamp start and stop to report better current
15912 position in EOS/PLAYING/PAUSED/READY/NULL.
15913 Refactor QoS/frame dropping and other measurements.
15914 API: GstBaseSrc::qos
15917 * libs/gst/base/gstbasesink.h:
15918 Added Private struct.
15919 API: gst_base_sink_set_qos_enabled()
15920 API: gst_base_sink_is_qos_enabled()
15922 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
15924 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15925 If compiling against GLib-2.8 or newer, try to read the
15926 registry file using GMappedFile first before falling back
15927 to fopen() + fread() (#332151).
15929 2006-03-22 Wim Taymans <wim@fluendo.com>
15931 * gst/gstinfo.c: (gst_debug_set_active),
15932 (gst_debug_category_set_threshold):
15933 Disable debugging unless explicitly activated.
15936 2006-03-22 Wim Taymans <wim@fluendo.com>
15938 * gst/gstelement.c: (gst_element_set_locked_state),
15939 (gst_element_dispose):
15940 Cleanup the error case.
15942 * gst/gstobject.c: (gst_object_dispose):
15943 print a critical when some object was disposed with
15944 a parent, also revive the object since it might
15947 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
15949 * tools/gst-launch.1.in:
15952 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
15955 * tests/check/Makefile.am:
15956 disable some tests when we don't have a registry
15957 * tests/check/gst/gstutils.c: (gst_utils_suite):
15958 don't build the part that needs parsing
15960 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
15963 * tests/examples/Makefile.am:
15964 fix --disable-parse build
15966 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
15968 * tools/gst-feedback.1.in:
15969 Fix typo: s/feeback/feedback/ (#133494).
15971 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
15973 * tools/Makefile.am:
15974 * tools/gst-launch.1.in:
15975 Add FILES section and correct entry about GST_REGISTRY_PATH
15976 environment variable (#133495; #133494).
15978 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
15980 * tools/Makefile.am:
15981 * tools/gst-md5sum.1.in:
15982 * tools/gst-md5sum.c:
15983 Remove gst-md5sum and man page (the md5sink element
15984 required was removed ages ago)
15986 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
15988 * gst/gststructure.c: (gst_structure_id_set_value):
15989 Make sure that string fields in structures/taglists
15990 contain valid UTF-8 - we don't want to pass rubbish to
15991 applications because of a buggy plugin (cp. #334167).
15993 2006-03-21 Edward Hervey <edward@fluendo.com>
15995 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15996 (gst_bin_handle_message_func):
15997 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
15998 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
15999 (gst_element_set_bus_func):
16000 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16001 * gst/gstminiobject.c: (gst_value_set_mini_object),
16002 (gst_value_take_mini_object):
16003 * gst/gstpad.c: (gst_pad_set_pad_template):
16004 * gst/gstpipeline.c: (gst_pipeline_dispose),
16005 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16006 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16007 (gst_collect_pads_chain):
16008 * libs/gst/net/gstnettimeprovider.c:
16009 (gst_net_time_provider_set_property):
16010 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16011 It's in fact all issues with gst_*object_replace().
16013 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16015 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16017 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16018 * pkgconfig/gstreamer-check.pc.in:
16019 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16021 2006-03-21 Edward Hervey <edward@fluendo.com>
16025 * gst/gstmessage.h:
16026 gst_[buffer|event|message]_ref() macros are replaced by a static
16027 inline functions because gcc-4.1 will about if the return value
16029 * tests/check/gst/gstevent.c: (event_probe):
16030 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16032 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16035 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16036 the type' case. (Closes: #335195 for now). In the future, when we
16037 depend on GLib 2.10, we could also intern the type name using
16038 g_intern_static_string()
16040 2006-03-20 Wim Taymans <wim@fluendo.com>
16042 * gst/gstbin.c: (gst_bin_handle_message_func),
16043 (bin_query_max_init), (bin_query_position_fold),
16044 (bin_query_position_done), (gst_bin_query):
16045 Position query should also take max of all streams.
16047 2006-03-20 Wim Taymans <wim@fluendo.com>
16049 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16050 (gst_fake_src_finalize):
16051 Fix leaks in fakesrc.
16053 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16054 Fix leaks in the testcase.
16056 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16058 * gst/gst_private.h:
16059 add win32 specific import decoration(__declspec(dllimport))
16060 for all extern GstDebugCategory * variables
16061 * win32/common/libgstbase.def:
16062 * win32/common/libgstcontroller.def:
16063 * win32/common/libgstreamer.def:
16064 Add some exports, remove empty lines
16065 * win32/common/libgstdataprotocol.def:
16066 * win32/common/libgstdataprotocol.dsp:
16067 * win32/common/libgstnet.def:
16068 * win32/common/libgstnet.dsp:
16069 new project files and exportation files added
16071 2006-03-19 Wim Taymans <wim@fluendo.com>
16073 * tests/check/libs/basesrc.c: (eos_event_counter):
16074 Use proper return value for probe.
16076 2006-03-17 Wim Taymans <wim@fluendo.com>
16078 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16080 Don't leak buffers, caps and pads on negotiation errors.
16082 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16084 * docs/faq/cvs.xml:
16085 * docs/faq/dependencies.xml:
16086 * docs/faq/developing.xml:
16087 * docs/faq/faq.xml:
16088 * docs/faq/general.xml:
16089 * docs/faq/getting.xml:
16090 * docs/faq/legal.xml:
16091 * docs/faq/troubleshooting.xml:
16092 * docs/faq/using.xml:
16093 Faq review and update.
16095 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16097 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16099 Don't pound the cpu to pieces by checking get_caps when accept_caps
16100 is called with the same caps as the pad already has.
16101 Use GST_DEBUG_OBJECT when outputting caps change information.
16103 2006-03-15 Wim Taymans <wim@fluendo.com>
16105 * gst/gstclock.c: (gst_clock_class_init):
16108 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16113 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16114 (gst_pad_accept_caps), (gst_pad_configure_sink),
16115 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16116 Make the default acceptcaps behaviour be to check the requested
16117 caps against the gst_pad_get_caps output.
16119 Ensure that gst_pad_accept_caps is used to check caps when a pad
16120 doesn't have a setcaps function, so that pads automatically refuse
16121 caps that they don't allow in their pad template. (Fixes #332986)
16123 When a buffer with attached caps is pushed, ensure that the source
16124 pad receives those caps even if the element didn't call
16125 gst_pad_set_caps first.
16127 2006-03-15 Wim Taymans <wim@fluendo.com>
16129 * libs/gst/base/gstadapter.c:
16132 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16134 * win32/common/libgstbase.def:
16135 * win32/common/libgstcontroller.def:
16136 * win32/common/libgstreamer.def:
16137 Add a whole bunch of missing functions (#334434).
16139 2006-03-14 Wim Taymans <wim@fluendo.com>
16141 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16142 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16143 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16144 Better debug info when we receive a segment event.
16145 Reorganize a bit so we can pass the get_times() results around.
16146 Use the segment format when calculating the running time.
16147 Don't do QoS is sync is disabled or we have no clock or the
16148 element does not want us to sync to the clock.
16149 Don't drop buffers if QoS is disabled for now.
16151 2006-03-14 Wim Taymans <wim@fluendo.com>
16153 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16154 Marked the stats property as unimplemented so people don't get
16156 Add debug message when regression goes wrong.
16157 Added some more docs.
16159 2006-03-14 Wim Taymans <wim@fluendo.com>
16161 * gst/gstsegment.c: (gst_segment_to_stream_time):
16162 Return correct return type in case of errors.
16164 2006-03-14 Wim Taymans <wim@fluendo.com>
16166 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16167 Don't segfault on invalid formats.
16169 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16171 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16172 Can't use gst_segment_to_running_time() when the segment
16173 is not in GST_TIME_FORMAT (like with filesink, for example).
16174 Stops flac encoding pipelines from spewing critical warnings
16177 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16179 * gst/gstpipeline.c: (gst_pipeline_class_init):
16180 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16182 * plugins/elements/gsttypefindelement.c:
16183 (gst_type_find_element_handle_event):
16184 Don't try to typefind empty streams.
16186 2006-03-14 Wim Taymans <wim@fluendo.com>
16188 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16189 (gst_base_sink_do_qos):
16190 Separate QoS calculation.
16191 Only drop buffers when lateness is bigger than the
16192 duration of the buffer.
16194 2006-03-13 Wim Taymans <wim@fluendo.com>
16196 * gst/gstpipeline.c: (gst_pipeline_set_property),
16197 (gst_pipeline_get_property), (do_pipeline_seek),
16198 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16199 (gst_pipeline_get_delay):
16200 Don't deadlock when reading properties.
16202 2006-03-13 Wim Taymans <wim@fluendo.com>
16204 * libs/gst/base/gstbasetransform.c:
16205 (gst_base_transform_class_init), (gst_base_transform_init),
16206 (gst_base_transform_sink_event),
16207 (gst_base_transform_sink_eventfunc),
16208 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16209 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16210 (gst_base_transform_set_property),
16211 (gst_base_transform_get_property),
16212 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16213 (gst_base_transform_set_qos_enabled),
16214 (gst_base_transform_is_qos_enabled):
16215 * libs/gst/base/gstbasetransform.h:
16216 Make basetransform virtual method for src events too.
16217 Handle QOS in basetransform.
16218 API: gst_base_transform_update_qos()
16219 API: gst_base_transform_set_qos_enabled()
16220 API: gst_base_transform_is_qos_enabled()
16222 2006-03-13 Wim Taymans <wim@fluendo.com>
16224 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16225 (gst_base_sink_do_sync):
16227 Use QOS debug category.
16229 2006-03-13 Wim Taymans <wim@fluendo.com>
16231 * plugins/elements/gstqueue.c:
16232 Very small doc update.
16234 2006-03-13 Wim Taymans <wim@fluendo.com>
16236 * gst/gst_private.h:
16237 * gst/gstinfo.c: (_gst_debug_init):
16238 Added QOS debug category
16240 2006-03-13 Wim Taymans <wim@fluendo.com>
16242 * docs/gst/gstreamer-sections.txt:
16243 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16245 * gst/gstbus.c: (gst_bus_class_init):
16248 * gst/gstelement.c: (gst_element_set_locked_state):
16249 * gst/gstsegment.c:
16250 Documentation updates.
16252 * gst/gstpipeline.c: (gst_pipeline_get_type),
16253 (gst_pipeline_class_init), (gst_pipeline_init),
16254 (gst_pipeline_dispose), (gst_pipeline_set_property),
16255 (gst_pipeline_get_property), (do_pipeline_seek),
16256 (gst_pipeline_send_event), (gst_pipeline_change_state),
16257 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16258 (gst_pipeline_get_delay):
16259 * gst/gstpipeline.h:
16260 Added methods for setting the delay.
16261 API: gst_pipeline_set_delay()
16262 API: gst_pipeline_get_delay()
16263 Add pipeline debug category
16266 Don't reset stream time when seek failed.
16268 2006-03-13 Wim Taymans <wim@fluendo.com>
16270 * docs/design/draft-klass.txt:
16271 * docs/design/part-clocks.txt:
16272 * docs/design/part-events.txt:
16273 * docs/design/part-gstbin.txt:
16274 * docs/design/part-gstpipeline.txt:
16275 * docs/design/part-messages.txt:
16276 * docs/design/part-negotiation.txt:
16277 * docs/design/part-overview.txt:
16278 * docs/design/part-preroll.txt:
16279 * docs/design/part-seeking.txt:
16280 * docs/design/part-states.txt:
16281 * docs/design/part-streams.txt:
16282 Documentation updates.
16284 2006-03-12 Julien MOUTTE <julien@moutte.net>
16286 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16287 us to leak strings...
16289 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16291 * libs/gst/net/gstnettimeprovider.c:
16293 * win32/common/config.h:
16296 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16298 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16301 Don't check for libgnomeui (leftover from old examples
16302 that aren't built or disted any longer) (#334303).
16304 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16306 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16307 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16308 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16309 there's no space left on the device.
16311 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16314 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16315 to cast the input to GstClockTime before comparing with
16316 another GstClockTime value.
16318 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16323 === release 0.10.4 ===
16325 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16328 releasing 0.10.4, "Light"
16330 2006-03-10 Michael Smith <msmith@fluendo.com>
16332 * libs/gst/dataprotocol/dataprotocol.c:
16333 Fix docs for dataprocotol to not get the return types completely
16334 wrong for a few functions.
16336 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16338 * docs/gst/gstreamer-sections.txt:
16339 * gst/gstpipeline.c: (gst_pipeline_class_init),
16340 (gst_pipeline_init), (gst_pipeline_set_property),
16341 (gst_pipeline_get_property), (gst_pipeline_change_state),
16342 (gst_pipeline_set_auto_flush_bus),
16343 (gst_pipeline_get_auto_flush_bus):
16344 * gst/gstpipeline.h:
16345 Add new API: gst_pipeline_set_auto_flush_bus() and
16346 gst_pipeline_get_auto_flush_bus() to disable automatic
16347 flushing of the pipeline's GstBus when going from READY
16348 to NULL state (#332045).
16350 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16352 * docs/gst/gstreamer-sections.txt:
16353 * gst/gsturi.c: (gst_uri_has_protocol):
16355 Add new API: gst_uri_has_protocol() (#333779).
16357 2006-03-09 Wim Taymans <wim@fluendo.com>
16359 * gst/gstclock.c: (gst_clock_entry_new),
16360 (gst_clock_id_compare_func), (gst_clock_id_wait),
16361 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16362 (gst_clock_init), (gst_clock_get_internal_time),
16363 (gst_clock_set_master), (do_linear_regression),
16364 (gst_clock_add_observation), (gst_clock_set_property):
16368 Fix a possible segfault when the window-size is made smaller.
16369 Calculate jitter before performing the clock wait. Ideally
16370 the clock implementation should calculate jitter but we need
16371 API breakage for that.
16373 * gst/gstsystemclock.c: (gst_system_clock_init):
16376 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16377 Remove leftover else
16379 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16380 (gst_systemclock_suite):
16381 Added check to test GST_CLOCK_DIFF.
16383 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16385 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16386 (gst_type_find_helper_get_range):
16387 If we are provided with the size, we should implement
16388 GstTypeFind::get_length, so that typefind functions who
16389 want to can actually peek at the middle of a file.
16391 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16393 * docs/manual/advanced-dataaccess.xml:
16394 Add some very very basic error checking.
16396 * docs/pwg/appendix-checklist.xml:
16397 Some updates to the list of things to check when writing an element.
16399 2006-03-08 Wim Taymans <wim@fluendo.com>
16401 * docs/design/part-element-transform.txt:
16402 Added some docs about the design of tranform elements.
16404 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16405 (gst_base_src_loop), (gst_base_src_change_state):
16406 Mark buffers with the DISCONT flag.
16408 2006-03-08 Michael Smith <msmith@fluendo.com>
16410 * gst/gstregistry.h:
16411 * gst/gstregistryxml.c: (gst_registry_save),
16412 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16413 (gst_registry_xml_save_pad_template),
16414 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16415 (gst_registry_xml_write_cache):
16416 Rewrite registry-saving to avoid race conditions and check for
16419 2006-03-08 Wim Taymans <wim@fluendo.com>
16421 * libs/gst/base/gstbasetransform.c:
16422 (gst_base_transform_transform_caps),
16423 (gst_base_transform_transform_size),
16424 (gst_base_transform_prepare_output_buffer),
16425 (gst_base_transform_get_unit_size),
16426 (gst_base_transform_buffer_alloc),
16427 (gst_base_transform_handle_buffer),
16428 (gst_base_transform_change_state):
16429 Cleanups, separate normal flow from errors, add sensible
16431 Don't try to renegotiate when allocating an output buffer.
16432 Also copy DISCONT buffer flag when copying a buffer.
16433 Reset the transform after we finish streaming, not during.
16435 2006-03-08 Wim Taymans <wim@fluendo.com>
16437 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16438 Use last buffer timestamp in qos message.
16440 2006-03-07 Wim Taymans <wim@fluendo.com>
16442 Patch by: Christophe Fergeau
16444 * docs/pwg/advanced-tagging.xml:
16445 * docs/pwg/building-pads.xml:
16448 2006-03-07 Wim Taymans <wim@fluendo.com>
16450 * docs/libs/gstreamer-libs-sections.txt:
16451 Added basesink new methods.
16455 Docs updates. Flesh out the QoS docs.
16457 * libs/gst/base/gstadapter.c:
16458 Small doc clarification about ownership and flushing.
16460 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16461 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16462 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16463 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16464 * libs/gst/base/gstbasesink.h:
16466 Added new methods to allow subclass to control max-lateness
16468 Generate very basic QoS events based on last sync observation.
16469 Updated docs, fix typo, added some QoS blurb.
16471 * libs/gst/base/gstbasesrc.c:
16472 Remove obsolete _get_state() calls from docs.
16474 2006-03-07 Wim Taymans <wim@fluendo.com>
16476 * docs/libs/gstreamer-libs-sections.txt:
16477 * libs/gst/base/gstbasetransform.h:
16478 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16479 Fix docs for GstBaseSrc.
16481 2006-03-07 Wim Taymans <wim@fluendo.com>
16483 * docs/gst/gstreamer-sections.txt:
16486 * libs/gst/base/gstbasetransform.h:
16487 Small documentation fixes.
16489 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16492 Document thread-unsafety of gst_value_register_foo_func()
16493 when used at the same time as gst_value_foo() (#322628).
16495 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16497 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16498 (gst_push_src_check_get_range):
16499 Push sources don't support pull mode by default.
16501 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16503 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16504 (gst_base_src_init), (gst_base_src_pad_check_get_range),
16505 (gst_base_src_default_check_get_range):
16506 * libs/gst/base/gstbasesrc.h:
16507 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16508 provide default implementation, and rename
16509 gst_base_src_check_get_range() to
16510 gst_base_src_pad_check_get_range() for clarity.
16512 2006-03-06 Wim Taymans <wim@fluendo.com>
16514 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16515 Make property overridable.
16517 2006-03-06 Wim Taymans <wim@fluendo.com>
16519 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16520 (gst_base_sink_init), (gst_base_sink_set_property),
16521 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16522 * libs/gst/base/gstbasesink.h:
16523 API addition: Make max-lateness a property.
16525 2006-03-06 Wim Taymans <wim@fluendo.com>
16527 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16528 (gst_base_sink_do_sync), (gst_base_sink_render_object):
16529 Don't ever draw a frame that is >10ms late.
16531 2006-03-06 Michael Smith <msmith@fluendo.com>
16533 * gst/gstmessage.c: (_gst_message_copy):
16534 When copying a message, set the parent_refcount of the enclosed
16535 structure to point at the copy, not the original message.
16537 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16539 Patch by: Christophe Fergeau
16542 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16543 usable in c++ code (#333417)
16545 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
16548 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16550 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
16552 * libs/gst/base/gstbasetransform.c:
16553 (gst_base_transform_transform_caps):
16554 Make sure caps are writable before passing them to
16557 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16560 Fix some minor docs errors.
16562 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16564 Patch by: Ross Burton <ross at burtonini dot com>
16566 * gst/gsterror.c: (_gst_resource_errors_init):
16568 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16570 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16573 Add a check and output a g_warning when GStreamer is built
16574 against GLib 2.6 but running against 2.8 or higher, and vice
16575 versa. (Closes: #323542)
16577 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16579 * gst/parse/parse.l:
16580 Commit patch for parse_launch syntax from #331255. Removes
16581 support for quoted strings and mimetypes when writing filtered
16582 caps. See the bug report for more details - I'm pretty sure this
16583 obscure feature is not in use by _anyone_ anywhere.
16585 With this simple change, the size of the gstreamer.so here
16586 drops from 2193KB to 1565KB.
16588 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16590 * plugins/elements/gsttypefindelement.h:
16591 * plugins/elements/gsttypefindelement.c:
16592 (gst_type_find_element_src_event), (start_typefinding),
16593 (stop_typefinding), (gst_type_find_element_handle_event),
16594 (gst_type_find_element_chain),
16595 (gst_type_find_element_chain_do_typefinding):
16596 Use gst_type_find_helper_for_buffer() for chain-based
16599 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16601 * plugins/elements/gsttypefindelement.c:
16602 (gst_type_find_element_class_init),
16603 (gst_type_find_element_set_property),
16604 (gst_type_find_element_get_property):
16605 Deprecate "maximum" property (not only was it only taken into
16606 account for typefinding in push-mode anyway, it also was never
16607 actually possible to set it in the first place because the
16608 property was registered with the numeric property ID for the
16609 "minimum" property). Register "maximum" property correctly,
16610 for the sake of future copy'n'pasters. Remove some cruft
16611 from property get/set functions.
16613 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16615 * plugins/elements/gsttypefindelement.c:
16616 (gst_type_find_element_activate):
16617 Use gst_type_find_helper_get_range() here, so we
16618 can honour the "minimum" property and also emit
16619 the signal with the correct probability of the found caps.
16621 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
16623 * docs/libs/gstreamer-libs-sections.txt:
16624 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16625 (helper_find_suggest), (gst_type_find_helper_get_range),
16626 (gst_type_find_helper):
16627 * libs/gst/base/gsttypefindhelper.h:
16628 New API: gst_type_find_helper_get_range() (#333042).
16630 2006-03-02 Michael Smith <msmith@fluendo.com>
16632 * gst/gstregistryxml.c: (load_feature):
16633 Asserting on a failure to read part of the registry is Not Cool.
16634 Just log a warning and return NULL (which is already handled)
16636 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
16638 * win32/common/libgstbase.def:
16639 added export of gst_type_find_helper_for_buffer
16640 * win32/common/libgstbase.def:
16641 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16642 gst_ghost_pad_get_target
16644 2006-02-28 Wim Taymans <wim@fluendo.com>
16646 * docs/design/draft-klass.txt:
16648 Added Connector to mark elements that are only used to
16649 allow pipeline connections.
16650 Moved Debug to extra feature since most of them are
16651 functionally something else.
16653 2006-02-28 Wim Taymans <wim@fluendo.com>
16655 * docs/design/draft-klass.txt:
16656 Some updates and clarifications.
16658 2006-02-28 Wim Taymans <wim@fluendo.com>
16660 * docs/design/draft-klass.txt:
16661 Proposal for klass field values.
16663 * docs/design/part-streams.txt:
16664 Start of a doc describing stream anatomy.
16666 2006-02-28 Wim Taymans <wim@fluendo.com>
16668 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16669 Help the compiler a bit with type registration.
16670 Use existing forward cod path instead of duplicating it when
16671 handling a message.
16673 * gst/gstbus.c: (gst_bus_get_type):
16674 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16675 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16676 * gst/gstclock.c: (gst_clock_get_type):
16677 * gst/gstelement.c: (gst_element_get_type),
16678 * gst/gstelementfactory.c: (gst_element_factory_get_type):
16679 * gst/gstindexfactory.c: (gst_index_factory_get_type):
16680 * gst/gstminiobject.c: (gst_mini_object_get_type):
16681 * gst/gstpad.c: (gst_pad_get_type):
16682 * gst/gstsegment.c: (gst_segment_get_type):
16683 * gst/gststructure.c: (gst_structure_get_type):
16684 * gst/gstsystemclock.c: (gst_system_clock_get_type):
16685 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16687 Help compiler with type registration.
16689 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16692 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16694 * plugins/elements/gsttypefindelement.c:
16695 (gst_type_find_element_handle_event):
16696 When we get an EOS event and have not found a type yet
16697 (most likely because we had not yet accumulated
16698 TYPE_FIND_MIN_SIZE of data yet), try to determine the
16699 type given the data we have so far. Fixes typefinding
16700 for very short streams again, most notably quicktime
16701 redirections as used on Apple's trailer site (#331701).
16703 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16705 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16706 (gst_type_find_helper):
16707 Try typefinding factories with the highest rank first.
16709 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16711 * docs/libs/gstreamer-libs-docs.sgml:
16712 * docs/libs/gstreamer-libs-sections.txt:
16713 * libs/gst/base/gsttypefindhelper.c:
16714 Add section for typefind helper and add documentation
16715 for the old and the new function.
16717 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16719 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16720 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16721 (gst_type_find_helper_for_buffer):
16722 * libs/gst/base/gsttypefindhelper.h:
16723 New API: gst_type_find_helper_for_buffer() (#332723).
16725 2006-02-27 Michael Smith <msmith@fluendo.com>
16727 Patch by: Loïc Minier
16730 * docs/Makefile.am:
16731 * docs/slides/Makefile.am:
16732 prevent CVS directories getting disted.
16734 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16736 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16737 Use the REFCOUNTING category for caps refcounting.
16739 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16741 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16742 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16744 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16746 * plugins/elements/gsttypefindelement.c:
16747 (gst_type_find_element_activate):
16748 Use gst_pad_check_pull_range() before _activate_pull()
16749 to avoid unnecessary open/close (see #331690).
16751 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16754 Docs enhancement: make it crystal clear what the
16755 gst_pad_add_*_probe() callbacks should look like.
16757 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16759 * libs/gst/base/gstbasesrc.c:
16760 Document how applications can stop recording from
16761 live sources (see #330996).
16763 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16765 * tests/check/Makefile.am:
16766 * tests/check/libs/basesrc.c: (eos_event_counter),
16767 (basesrc_eos_events_pull), (basesrc_eos_events_push),
16768 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16769 (gst_basesrc_suite), (main):
16770 ... and add some tests for the base source EOS stuff.
16772 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16774 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16775 Test case originally showed the problem fixed below,
16776 but was then amended. Add checks back at the place
16777 where they used to be.
16779 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16781 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16782 (gst_base_src_init), (gst_base_src_loop),
16783 (gst_base_src_activate_push), (gst_base_src_activate_pull),
16784 (gst_base_src_change_state):
16785 * libs/gst/base/gstbasesrc.h:
16786 Don't unconditionally send EOS when going from PAUSED to
16787 READY state, esp. make sure we don't send two EOS events
16788 in some cases (e.g. one when reaching EOS and one when
16789 going from PAUSED to READY). Also, we don't want to send
16790 EOS events when operating in pull mode. However, we do
16791 want to send an EOS event when shutting down a live
16792 source explicitly, for example (fixes #330996).
16794 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16796 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
16797 Update src->read_position after a seek when not using mmap.
16798 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
16800 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
16806 Make things work with --disable-parse as they do with
16807 --disable-load-save - the symbols involved disappear, but the
16808 header is still installed and GST_DISABLE_PARSE is included via
16811 2006-02-20 Julien MOUTTE <julien@moutte.net>
16813 * libs/gst/base/gstbasetransform.c:
16814 (gst_base_transform_change_state): Fix a stupid bug. I was
16815 sure I compiled that.
16817 2006-02-20 Julien MOUTTE <julien@moutte.net>
16819 * gst/gstpad.c: (gst_pad_set_blocked_async):
16820 * gst/gstutils.c: (gst_pad_add_data_probe),
16821 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16822 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16823 (gst_pad_remove_buffer_probe): Make those function act on the
16824 ghostpad target when it's a ghostpad. (Closes #331727)
16826 2006-02-20 Julien MOUTTE <julien@moutte.net>
16828 * libs/gst/base/gstbasetransform.c:
16829 (gst_base_transform_change_state): Make basetransform reusable.
16832 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
16834 * docs/random/release:
16835 Move the current documentation of how to do a release to the top
16838 * gst/gstbin.c: (gst_bin_class_init),
16839 (gst_bin_handle_message_func):
16840 Allow multiple state-recalculation threads. (Closes #328873)
16842 2006-02-19 Julien MOUTTE <julien@moutte.net>
16844 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
16845 * gst/gstpad.c: (gst_pad_set_event_function),
16846 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16847 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
16848 2 strings. You can't use the STR_NULL macro on that.
16850 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
16852 * gst/gstpad.c: (gst_pad_set_event_function),
16853 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16854 (gst_pad_set_getcaps_function)
16855 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
16856 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
16857 So now, we can use --gst-debug-level=5 on Windows
16858 * win32/common/libgstcontroller.def:
16859 Added export of gst_controller_init
16860 * win32/vs6/libgstcontroller.dsp:
16861 Fixed Release post build configuration
16863 2006-02-17 Wim Taymans <wim@fluendo.com>
16865 * tests/check/gst/gstquery.c: (GST_START_TEST):
16866 Added another check.
16868 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
16870 * plugins/elements/gsttypefindelement.c: (find_peek):
16871 We can do peeks at non-zero offsets, as long as they
16872 fall within the buffer we have.
16874 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
16876 * tests/check/Makefile.am:
16877 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
16878 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
16879 (parse_suite), (main):
16880 Add testsuite for parse launch syntax
16882 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
16884 * plugins/elements/gsttypefindelement.c:
16885 (gst_type_find_element_chain):
16886 When typefinding is unsuccessful in the chain function, don't
16887 error out immediately. Only error out with NO_CAPS_FOUND if
16888 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
16889 otherwise simply wait for more data so we can try typefinding
16890 again with more data later. Also, don't attempt to typefind
16891 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
16892 this should improve typefinding from network sources where the
16893 size of the first buffer can be somewhat random.
16895 2006-02-14 Wim Taymans <wim@fluendo.com>
16897 * docs/gst/gstreamer-sections.txt:
16898 * gst/gstpadtemplate.c:
16899 * gst/gstpadtemplate.h:
16900 Fix padtemplate docs, fixes #328805.
16902 2006-02-14 Wim Taymans <wim@fluendo.com>
16904 * tools/gst-launch.c: (main):
16905 NO_PREROLL is not an ERROR so don't send confusing messages
16908 2006-02-14 Wim Taymans <wim@fluendo.com>
16910 Patch by: Torsten Schoenfeld
16912 * gst/gstregistry.c: (gst_registry_get_default),
16913 (_gst_registry_cleanup):
16914 Protect default registry with lock and ref/sink it.
16917 2006-02-14 Wim Taymans <wim@fluendo.com>
16920 * gst/gstquery.c: (gst_query_list_add_format),
16921 (gst_query_set_formatsv), (gst_query_parse_formats_length),
16922 (gst_query_parse_formats_nth):
16923 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16926 2006-02-14 Wim Taymans <wim@fluendo.com>
16928 * docs/gst/gstreamer-sections.txt:
16929 Reworked query docs.
16931 * gst/gstquery.c: (gst_query_new_formats),
16932 (gst_query_list_add_format), (gst_query_set_formats),
16933 (gst_query_set_formatsv), (gst_query_parse_formats_length),
16934 (gst_query_parse_formats_nth):
16936 Flesh out formats query, added some new methods.
16937 Fix part of #324398.
16939 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
16940 Added query creation tests.
16942 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
16944 * gst/gstpad.c: (fixate_value):
16945 Add a default fixation for fraction lists.
16947 2006-02-13 Wim Taymans <wim@fluendo.com>
16949 * gst/gsttask.c: (gst_task_init), (gst_task_func),
16950 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
16953 Detect and warn for obvious deadlocks. fixes #320340
16954 Fix error case where lock was not released.
16956 * tests/check/Makefile.am:
16957 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
16958 (task_func), (gst_element_suite), (main):
16961 2006-02-13 Wim Taymans <wim@fluendo.com>
16963 * docs/gst/gstreamer-sections.txt:
16965 Add new functions to docs.
16967 2006-02-13 Wim Taymans <wim@fluendo.com>
16969 * docs/design/part-TODO.txt:
16970 Updated TODO list, basesrc supports seeking to non-bytes
16973 * docs/design/part-element-sink.txt:
16976 * gst/gstbin.c: (bin_replace_message),
16977 (gst_bin_handle_message_func):
16978 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
16979 * gst/gstevent.c: (gst_event_finalize):
16980 * gst/gstpad.c: (gst_pad_event_default_dispatch),
16981 (gst_pad_send_event):
16982 Use shiny new _TYPE_NAME macros.
16984 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
16985 Move debug statement up.
16987 * gst/gstelement.c: (gst_element_set_locked_state):
16988 Add some debugging.
16990 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
16992 * docs/gst/gstreamer-sections.txt:
16993 * gst/gstmessage.h:
16995 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
16996 macros (#330906). Also, document the already existing
16997 GST_QUERY_TYPE macro.
16999 2006-02-13 Wim Taymans <wim@fluendo.com>
17001 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17002 (event_probe), (GST_START_TEST):
17003 Only events up to the pipeline EOS are counted, there are
17004 some more when going to NULL currently which we don't care
17007 2006-02-13 Wim Taymans <wim@fluendo.com>
17009 * gst/gstpad.c: (gst_pad_send_event):
17010 Correctly check flushing and emit probes. fixes #330125
17012 2006-02-10 Andy Wingo <wingo@pobox.com>
17014 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17016 (gst_bus_init): Cache the location of the private data in the
17017 instance structure.
17018 (gst_bus_enable_sync_message_emission)
17019 (gst_bus_disable_sync_message_emission): Implement new public
17021 (gst_bus_post): Emit the sync-message signal if the user asked for
17024 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17025 location of the bus-private structure.
17026 (gst_bus_enable_sync_message_emission)
17027 (gst_bus_disable_sync_message_emission): API addition
17029 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17031 Patch by: Vincent Torri
17033 * docs/pwg/building-boiler.xml:
17034 PWG patch from #326800
17036 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17039 * docs/Makefile.am:
17040 * docs/design/Makefile.am:
17043 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17048 === release 0.10.3 ===
17050 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17053 releasing 0.10.3, "Like a virgin"
17055 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17058 2nd prerelease of 0.10.3
17059 Bump libtool versioning.
17061 2006-02-07 Andy Wingo <wingo@pobox.com>
17063 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17064 update last_stop if we're in TIME format and the timestamp is
17067 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17068 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17069 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17070 If we get a new newsegment with a different format, adapt
17073 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17074 of 0. Not a problem, really.
17076 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17079 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17084 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17087 project files updated to the default vs7 configuration
17088 * win32/common/libgstbase.def:
17089 * win32/common/libgstreamer.def:
17091 removed empty lines,
17092 sorted all exported symbols alphabetically
17093 * win32/common/dirent.c:
17094 * win32/common/dirent.h:
17095 * win32/common/gchar.h:
17096 use windows line end.
17098 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17100 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17101 Send EOS event when stopping.
17103 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17106 Tell folks what to do if the plugin-foobar.xml file
17107 hasn't been generated for a newly-added plugin.
17109 2006-02-05 Julien MOUTTE <julien@moutte.net>
17111 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17112 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17113 (gst_collect_pads_start), (gst_collect_pads_stop),
17114 (gst_collect_pads_event): Collectpads now holds a reference
17115 to the GstPad that was added. Indeed we don't want to look
17116 at pads that might just go away with no warning...
17118 2006-02-05 Julien MOUTTE <julien@moutte.net>
17120 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17121 (gst_collect_pads_start), (gst_collect_pads_stop),
17122 (gst_collect_pads_event), (gst_collect_pads_chain):
17123 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17124 Mark Nauwelaerts's patch on bug #328491.
17126 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17128 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17130 Add some simple tests for gst_parse_bin_from_description() and
17131 gst_bin_find_unconnected_pad() (#329069).
17133 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17135 * tools/gst-launch.c: (event_loop), (main):
17136 Catch errors during preroll (#320084).
17138 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17140 * plugins/elements/gsttypefindelement.c:
17141 (gst_type_find_element_activate):
17142 Post TYPE_NOT_FOUND error message when typefinding
17143 is unsuccessful in the activate function as well.
17145 2006-02-02 Wim Taymans <wim@fluendo.com>
17147 * docs/design/part-element-sink.txt:
17150 2006-02-02 Wim Taymans <wim@fluendo.com>
17152 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17153 (gst_base_sink_render_object),
17154 (gst_base_sink_queue_object_unlocked):
17155 Only keep track of prerollable items when we are
17157 Before rendering after preroll, always check if we
17159 Added some more debugging.
17161 2006-02-02 Wim Taymans <wim@fluendo.com>
17163 * gst/gstelement.c: (gst_element_continue_state),
17164 (gst_element_set_state_func), (gst_element_change_state):
17165 Fixed #326576, been running this for quite some time with
17166 no regressions at all.
17168 2006-02-02 Wim Taymans <wim@fluendo.com>
17171 Added more suppressions
17173 2006-02-02 Wim Taymans <wim@fluendo.com>
17175 * docs/design/part-element-sink.txt:
17178 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17179 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17180 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17181 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17182 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17183 (gst_base_sink_preroll_object),
17184 (gst_base_sink_queue_object_unlocked),
17185 (gst_base_sink_queue_object), (gst_base_sink_event),
17186 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17187 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17188 (gst_base_sink_get_position), (gst_base_sink_change_state):
17189 * libs/gst/base/gstbasesink.h:
17190 Totally refactored matching the design doc.
17191 Use two segments, one to clip incomming buffers and another to
17193 Handle queueing correctly, bypass the queue when playing.
17194 Make EOS cancelable.
17195 Handle errors correctly when operating in pull based mode.
17197 * tests/check/elements/fakesink.c: (GST_START_TEST),
17199 Added new check for sinks.
17201 2006-02-02 Wim Taymans <wim@fluendo.com>
17203 * gst/gstsegment.c: (gst_segment_clip):
17204 No reason to refuse to clip when start == -1
17206 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17209 * docs/manual/intro-basics.xml:
17210 * docs/manual/intro-preface.xml:
17211 * docs/manual/manual.xml:
17212 * docs/pwg/advanced-dparams.xml:
17213 * docs/pwg/intro-basics.xml:
17214 * docs/pwg/intro-preface.xml:
17215 * docs/pwg/pwg.xml:
17216 describe dparams (controller) for plugins
17217 unify docs a little more
17219 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17221 * docs/gst/gstreamer-sections.txt:
17222 * gst/gstutils.c: (element_find_unconnected_pad),
17223 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17225 Add new API: gst_parse_bin_from_description() and
17226 gst_bin_find_unconnected_pad() (#329069).
17228 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17230 * docs/manual/README:
17231 uncover a nasty detail of the docs build
17233 2006-01-31 Wim Taymans <wim@fluendo.com>
17235 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17236 Don't cache duration messages if we're not going to use or
17239 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17241 * docs/manual/advanced-dparams.xml:
17242 * docs/pwg/advanced-dparams.xml:
17246 * libs/gst/controller/lib.c: (gst_controller_init):
17249 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17251 * gst/gstelement.c: (gst_element_message_full):
17252 also show file/line/func if no additional debug was given
17254 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17256 * win32/vs7/grammar.vcproj:
17257 activate copy of autogenerated files for Release mode
17259 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17261 * win32/common/libgstreamer.def:
17262 export gst_value_compare
17264 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17266 * plugins/elements/Makefile.am:
17267 * plugins/elements/gstelements.c:
17268 * plugins/elements/gstfdsink.c: (_do_init),
17269 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17270 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17271 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17272 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17273 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17274 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17275 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17276 * plugins/elements/gstfdsink.h:
17277 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17279 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17281 * docs/manual/advanced-dparams.xml:
17282 describe controller
17283 * docs/manual/advanced-position.xml:
17284 * docs/manual/basics-init.xml:
17285 * docs/manual/manual.xml:
17286 * docs/manual/titlepage.xml:
17287 * docs/pwg/pwg.xml:
17288 * docs/pwg/titlepage.xml:
17289 cleanup xml (more to come)
17290 * libs/gst/controller/gstcontroller.c:
17293 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17295 * win32/vs6/grammar.dsp:
17296 add autogen of gstmarshal.c,h for Release mode
17298 2006-01-30 Wim Taymans <wim@fluendo.com>
17300 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17301 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17302 (gst_base_sink_handle_object), (gst_base_sink_event),
17303 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17304 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17305 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17306 (gst_base_sink_deactivate), (gst_base_sink_activate),
17307 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17308 (gst_base_sink_query), (gst_base_sink_change_state):
17309 Basesink cleanups, remove some old code.
17310 Handle the case where a subclass can preroll in the render
17311 method (mostly audiosinks).
17312 Handle more events.
17313 Remove some locks around variables that are now protected
17314 with the PREROLL_LOCK (clock_id, flushing, ..).
17315 Optimize position query some more, do correct locking.
17316 Remove old code to push queue in state change, this is not
17317 needed anymore since preroll blocks on all prerollable items
17319 Almost implemented as described in design doc.
17321 2006-01-30 Wim Taymans <wim@fluendo.com>
17323 * tests/check/gst/gstbin.c: (GST_START_TEST):
17324 Wait for refcount to settle down before checking.
17326 2006-01-30 Wim Taymans <wim@fluendo.com>
17328 * docs/design/part-element-sink.txt:
17329 Pseudo code overview of desired sink behaviour regarding
17332 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17333 * win32/vs6/grammar.dsp:
17334 fix some bugs in Release mode for autogenerated files
17336 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17337 * win32/common/libgstbase.def:
17338 * win32/common/libgstreamer.def:
17339 export some new symbols: gst_base_src_set_format,
17340 gst_iterator_next, gst_structure_set_valist
17342 2006-01-29 Julien MOUTTE <julien@moutte.net>
17344 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17345 Set pad functions unconditionally. Fixes #329105.
17347 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17349 add vs8 project files created by Sergey Scobich
17351 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17353 * gst/gstutils.c: (gst_element_unlink_pads):
17354 Don't leak pad references.
17356 * tests/check/elements/fakesink.c: (GST_START_TEST):
17357 * tests/check/generic/sinks.c: (GST_START_TEST):
17358 * tests/check/generic/states.c: (GST_START_TEST):
17359 * tests/check/gst/gstbin.c: (GST_START_TEST):
17360 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17361 * tests/check/gst/gstelement.c: (GST_START_TEST):
17362 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17363 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17364 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17365 Fix a bunch of leaks. Make generic/sinks.c
17366 use a bit less cpu by slowing the buffer rate
17367 between fakesrc and fakesink.
17369 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17371 * gst/gstelement.c: (gst_element_send_event):
17374 * gst/gstiterator.c:
17375 * gst/gstiterator.h:
17376 * gst/gstpad.c: (gst_pad_send_event):
17377 * gst/gststructure.c:
17381 * libs/gst/base/gstadapter.c:
17382 doc fixes, to link to function, just write gst_cool_function(), don't
17385 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17387 * plugins/elements/gsttee.c: (gst_tee_do_push),
17388 (gst_tee_handle_buffer):
17389 Always prefer an actual return value from a src
17390 pad in place of NOT_LINKED. This means we return
17391 WRONG_STATE when all src pads are WRONG_STATE
17392 instead of NOT_LINKED.
17394 Lock when replacing the last message to prevent
17395 racing with the get_property method.
17399 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17401 * tests/check/Makefile.am:
17402 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17404 Add a very simple check that should have caught the memleak I fixed
17405 last night (if not for the slice allocator hiding it)
17407 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17409 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17410 (gst_bin_remove_func), (gst_bin_handle_message_func),
17411 (bin_query_duration_fold), (bin_query_generic_fold):
17412 Clean up references to the clock provider when disposed or when
17413 handling a clock-lost message from it.
17415 Unref sinks when performing a query via gst_iterator_fold, as the
17416 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17418 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17419 (gst_clock_set_master):
17420 Drop our reference to the master clock, if any, when we are disposed.
17422 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17423 Chain up in dispose.
17425 2006-01-26 Wim Taymans <wim@fluendo.com>
17427 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17428 Add some debugging.
17430 2006-01-26 Julien MOUTTE <julien@moutte.net>
17432 * plugins/elements/gsttee.c: (gst_tee_do_push),
17433 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17434 handles pad being NOT_LINKED or in WRONG_STATE.
17436 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17441 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17444 remove obsolete entry
17446 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17448 * docs/gst/gstreamer-sections.txt:
17449 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17450 (gst_bin_iterate_sources), (gst_bin_send_event):
17452 * gst/gstelement.c: (gst_element_send_event):
17454 * gst/gstpad.c: (gst_pad_send_event):
17455 added code for downstream events, reviewed docs in gstevent.c
17457 2006-01-25 Julien MOUTTE <julien@moutte.net>
17459 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17460 We only query position using the clock in the playing state.
17461 Query peer in the other cases.
17462 * win32/common/config.h: Updates.
17464 2006-01-24 Wim Taymans <wim@fluendo.com>
17466 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17467 A clock entry that is scheduled for the exact time of the
17468 clock is still in time.
17470 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17471 (gst_base_sink_do_sync):
17472 Add some more debug info.
17474 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17477 Add new vs7 project files and solution.
17479 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17482 all files removed as they were out-dated.
17484 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17486 * docs/random/release:
17488 * gst/gstbin.c: (gst_bin_init):
17489 * gst/gstbus.c: (gst_bus_new):
17491 * gst/gstpipeline.c: (gst_pipeline_init):
17492 use gst_bus_new(), improve logging, fix docs
17493 * win32/common/config.h:
17494 update for cvs build
17496 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17499 up required version of automake to 1.7
17501 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
17503 * win32/common/libgstreamer.def:
17504 export gst_buffer_is_metadata_writable
17506 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
17508 * docs/gst/gstreamer-sections.txt:
17510 Add gst_event_replace() (#327001)
17512 2006-01-20 Wim Taymans <wim@fluendo.com>
17514 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17515 Make it actually compile too..
17517 2006-01-20 Wim Taymans <wim@fluendo.com>
17520 Clarify behaviour of _is_equal() when passing NULL parameters.
17522 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17523 (gst_pad_set_caps):
17524 Cleanups. Don't unref NULL caps.
17525 When setting the same caps, protect caps of the pad with
17527 Use full functionality of _is_equal() when comparing caps.
17529 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17531 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17532 Don't loop infinitely if there are no buffers to present. Partially
17533 fixes #327197, but collectpads is just broken for reusing elements
17534 to do multiple encodes atm.
17536 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17538 * tools/gst-inspect.c: (print_element_features):
17539 * tools/gst-xmlinspect.c: (main):
17540 URL_HANDLER is not a plugin feature we can search for in
17543 2006-01-19 Edward Hervey <edward@fluendo.com>
17545 * gst/gstelement.c: (gst_element_pads_activate):
17546 When activating, do src pads first, then sink pads.
17547 When de-activating, do sink pads first, then src pads.
17549 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17551 * docs/gst/gstreamer-sections.txt:
17552 Add gst_index_add_associationv to the docs
17554 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17559 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17560 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17561 Do some refactoring. Doesn't actually change functionality,
17562 but makes landing the DRAIN event easier later.
17564 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
17566 * docs/pwg/advanced-scheduling.xml:
17567 Update from 0.9.x to 0.10 API and make example a bit
17570 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17572 * docs/gst/gstreamer-sections.txt:
17573 Add gst_buffer_(is|make)_metadata_writable methods.
17575 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17577 * docs/design/part-sparsestreams.txt:
17578 Update sparse streams doc, hopefully for greater clarity
17580 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
17582 * docs/design/part-events.txt:
17583 Remove mention of FILLER events.
17586 * docs/design/part-sparsestreams.txt:
17587 Write some things about using NEWSEGMENT to keep sparse streams
17590 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17592 * gst/gstbin.c: (gst_bin_dispose):
17593 Guard gst_object_unref call against a NULL object (dispose
17594 can theoretically be called multiple times).
17596 2006-01-18 Wim Taymans <wim@fluendo.com>
17598 * gst/gstbin.c: (gst_bin_element_set_state):
17599 * gst/gstclock.c: (gst_clock_id_wait):
17600 Added some more debug info.
17602 * libs/gst/base/gstadapter.c:
17605 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17606 (gst_base_sink_do_sync), (gst_base_sink_chain):
17607 Added some comments.
17609 2006-01-18 Wim Taymans <wim@fluendo.com>
17611 * tests/check/Makefile.am:
17612 * tests/check/elements/fakesink.c: (chain_async_buffer),
17613 (chain_async), (chain_async_return), (GST_START_TEST),
17614 (fakesink_suite), (main):
17615 Added fakesink test that checks prerolling and clipping
17618 * tests/check/gst/gstutils.c: (GST_START_TEST):
17619 Make check run faster so that buildbots don't timeout.
17621 2006-01-18 Wim Taymans <wim@fluendo.com>
17623 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17624 (gst_base_sink_do_sync):
17626 When the sink finishes blocking on the preroll buffer, it can
17627 immediatly render it instead of rendering when the next buffer
17630 2006-01-18 Wim Taymans <wim@fluendo.com>
17632 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17633 (gst_base_sink_get_property), (gst_base_sink_do_sync),
17634 (gst_base_sink_chain):
17636 GST_ELEMENT_CLOCK and sync are protected with LOCK.
17637 Don't store _last_stop if the buffer is dropped.
17639 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17641 * plugins/elements/gsttypefindelement.c:
17642 (gst_type_find_element_class_init):
17643 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17644 object method handler that sets the caps on the pad and we want
17645 that to happen before we emit the signal (fixes e.g. feeding a
17646 plain text file to decodebin).
17648 2006-01-18 Christian Schaller <Christian@fluendo.com>
17650 * gst/gstplugin.c: Add MPL and Proprietary as license options
17652 2006-01-18 Andy Wingo <wingo@pobox.com>
17654 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17655 symbol was exported before, it appears this was just an oversight.
17657 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17659 * gst/gstindex.c (gst_index_add_associationv): Changed int in
17660 prototype to gint. OK since this prototype was not in the header.
17662 2006-01-17 Andy Wingo <wingo@pobox.com>
17664 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17665 registry while we remove plugins.
17667 * tools/gst-inspect.c (print_element_info): Don't unref the
17668 factory arg, that should be the responsibility of whatever code
17669 received the ref. Fixes a double-free when called from
17670 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17671 (main): Unref the factory if we have one.
17672 (print_element_list): No change -- relies on the
17673 plugin_feature_list_free to free the list of features.
17675 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
17677 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17678 (gst_buffer_make_metadata_writable):
17680 * libs/gst/base/gstbasetransform.c:
17681 (gst_base_transform_prepare_output_buf):
17682 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17683 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17684 Replace gst_buffer_(make|is)_metadata_writable patch now
17685 that the release is out.
17687 2006-01-17 Andy Wingo <wingo@pobox.com>
17689 * gst/gstregistry.c: Reflow design comment. Update so as to speak
17690 in the present tense without reference to versions.
17692 * gst/gstregistry.c (gst_registry_add_plugin)
17693 (gst_registry_remove_plugin, gst_registry_remove_feature)
17694 (gst_registry_find_feature, gst_registry_get_feature_list)
17695 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17696 (gst_registry_lookup, gst_registry_scan_path)
17697 (_gst_registry_remove_cache_plugins)
17698 (gst_registry_get_feature_list_by_plugin): Add argument
17701 === release 0.10.2 ===
17703 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
17706 releasing 0.10.2, "If man is five"
17708 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17712 * libs/gst/base/gstbasetransform.c:
17713 (gst_base_transform_prepare_output_buf):
17714 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17715 * tests/check/gst/gstbuffer.c: (gst_test_suite):
17716 Back out patch until after the release.
17718 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17720 * gst/gstminiobject.c:
17721 Spelling fix in docs.
17722 * ChangeLog - remove conflict indicator
17724 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17726 Reviewed By: Andy Wingo
17728 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17729 (gst_buffer_make_metadata_writable):
17731 Add gst_buffer_(is|make)_metadata_writable as analogues of
17732 gst_buffer_(is|make)_writable.
17734 * libs/gst/base/gstbasetransform.c:
17735 (gst_base_transform_prepare_output_buf):
17736 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17737 Use name gst_buffer_(is|make)_metadata_writable functions.
17739 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17740 Test gst_buffer_(is|make)_metadata_writable
17744 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
17746 * docs/manual/Makefile.am:
17747 don't do parallel make
17750 * win32/common/config.h.in:
17751 add generations for HOST_CPU and GST_MAJORMINOR
17752 * win32/common/config.h:
17753 commit generated result
17755 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
17757 * docs/manual/appendix-integration.xml:
17758 Update GNOME integration section to use gst_init_get_option_group()
17759 instead of the old popt stuff (#322911). Also, GNOME applications
17760 should now use gconf*sink and gconf*src instead of the old gconf
17763 2006-01-13 Stefan Kost <ensonic@users.sf.net>
17766 * docs/gst/gstreamer-docs.sgml:
17767 * docs/gst/gstreamer-sections.txt:
17768 * docs/libs/gstreamer-libs-sections.txt:
17769 add new API entries to the docs
17770 * libs/gst/controller/Makefile.am:
17771 * libs/gst/controller/gstcontroller.c:
17772 * libs/gst/controller/gstcontroller.h:
17773 * libs/gst/controller/gstcontrollerprivate.h:
17774 * libs/gst/controller/gsthelper.c:
17775 * libs/gst/controller/gstinterpolation.c:
17776 move private structs to private header
17778 gstreamer-0.7 -> gstreamer-0.10
17779 * tests/check/libs/struct_i386.h:
17780 remove private structs
17782 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
17784 * plugins/indexers/Makefile.am:
17785 Fixes as part of #317048
17787 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
17789 * plugins/indexers/Makefile.am:
17790 fix #316086 - compilation when mmap is missing
17792 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
17794 * libs/gst/base/gstbasesink.c:
17795 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
17796 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
17797 * win32/common/config.h:
17798 added some defines GST_MAJORMINOR and HOST_CPU
17799 * win32/common/libgstbase.def:
17800 * win32/common/libgstreamer.def:
17801 added some exported functions.
17803 2006-01-12 Stefan Kost <ensonic@users.sf.net>
17805 * libs/gst/controller/gstcontroller.c:
17806 (gst_controlled_property_set_interpolation_mode),
17807 (gst_controlled_property_new):
17808 * libs/gst/controller/gstcontroller.h:
17809 * libs/gst/controller/gstinterpolation.c:
17810 (interpolate_none_get_string_value_array):
17811 make G_TYPE_STRING controlable
17813 2006-01-12 Stefan Kost <ensonic@users.sf.net>
17816 * tools/gst-feedback.1.in:
17817 * tools/gst-inspect.1.in:
17818 * tools/gst-launch.1.in:
17819 * tools/gst-md5sum.1.in:
17820 * tools/gst-typefind.1.in:
17821 * tools/gst-xmlinspect.1.in:
17822 * tools/gst-xmllaunch.1.in:
17823 cleanup man-pages, remove reference to gst-register, document env-vars
17825 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
17827 * gst/gstbuffer.c: (gst_buffer_span):
17828 gst_buffer_span should copy the timestamp of the first buffer
17829 if they were both originally overlapping subbuffers of the
17830 same parent, using the same logic as the 'slow copy' case.
17832 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
17834 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
17835 Need to awaken ALL the pads when we pop a buffer, otherwise
17836 collectpads only works when there is 2 input streams.
17838 2006-01-11 Stefan Kost <ensonic@users.sf.net>
17840 * docs/random/ensonic/media-device-daemon.txt:
17843 fix doc example, add clarification
17844 * tools/gst-launch.1.in:
17845 add initial info about GST_PLUGIN_PATH, needs more work
17847 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
17849 * docs/manual/basics-bins.xml:
17850 * docs/manual/basics-elements.xml:
17851 * docs/manual/intro-basics.xml:
17852 Some more minor docs additions and updates.
17854 2006-01-11 Wim Taymans <wim@fluendo.com>
17856 * docs/manual/basics-bins.xml:
17857 * docs/manual/basics-elements.xml:
17858 Some small fixes as pointed out by Ser-ver on IRC.
17860 2006-01-10 Edward Hervey <edward@fluendo.com>
17862 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17863 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
17864 the single-segment mode.
17866 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
17868 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17870 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
17871 (gst_base_src_perform_seek), (gst_base_src_send_event),
17872 (gst_base_src_set_property), (gst_base_src_get_property),
17873 (gst_base_src_loop), (gst_base_src_start),
17874 (gst_base_src_activate_push):
17875 * libs/gst/base/gstbasesrc.h:
17876 Name (private) union; makes Sun's Forte compiler happy (#324900).
17878 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
17881 gst-register is gone.
17883 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
17885 * gst/gstvalue.c: (_gst_value_initialize):
17886 make the G_TYPE_DATE instantiation work if debug is disabled
17888 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
17890 * gst/gstmessage.c: (gst_message_parse_tag),
17891 (gst_message_parse_error), (gst_message_parse_warning):
17892 Don't crash when return location for error/warning debug
17893 string is NULL; add fact that return locations can be
17894 NULL to docs where appropriate.
17896 2006-01-05 Wim Taymans <wim@fluendo.com>
17898 * gst/gstplugin.c: (gst_plugin_load_file):
17899 Replace strdup by g_strdup.
17901 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
17903 * docs/pwg/advanced-types.xml:
17906 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
17908 submitted by: Abel Cheung
17912 Added Chinese (traditional) translation
17914 2006-01-04 Wim Taymans <wim@fluendo.com>
17916 * docs/manual/basics-pads.xml:
17917 * docs/plugins/Makefile.am:
17918 * docs/plugins/gstreamer-plugins-docs.sgml:
17919 * docs/plugins/gstreamer-plugins-sections.txt:
17920 * docs/pwg/advanced-clock.xml:
17921 * docs/pwg/advanced-scheduling.xml:
17922 * docs/pwg/advanced-types.xml:
17923 * plugins/elements/gstfdsink.c:
17924 * plugins/elements/gstfdsrc.c:
17925 * plugins/elements/gstfdsrc.h:
17926 * plugins/elements/gstidentity.c: (gst_identity_class_init):
17927 * plugins/elements/gstidentity.h:
17928 * plugins/elements/gstqueue.h:
17929 * plugins/elements/gsttee.c:
17930 * plugins/elements/gsttee.h:
17931 * plugins/elements/gsttypefindelement.c:
17932 (gst_type_find_element_class_init):
17933 * plugins/elements/gsttypefindelement.h:
17934 Small updates to various docs.
17935 Added core plugins to docs.
17937 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17940 add a suppression for liboil's uninitialized variable
17942 2006-01-02 James Livingston <jrl at ids dot org dot au>
17944 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
17947 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
17948 macro, so that gcc doesn't complain if the -Wmissing-prototypes
17949 compiler switch is being used (#325429).
17951 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
17953 * gst/gstbin.c: (gst_bin_query):
17954 Disable duration query caching in bins until it gets
17955 fixed (see #324807).
17957 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
17959 * tools/gst-inspect.c: (print_element_properties_info):
17960 Handle properties of POINTER and BOXED type.
17962 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
17964 * gst/gst.c: (init_post):
17965 Init tags stuff and some other things before loading
17966 any static plugins (there may be other static plugins
17967 than just the GStreamer ones, and they may want to
17968 register their own tags or formats or whatever, and
17969 preferably without segfaulting).
17971 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
17972 Print at least a warning in the debug logs if we drop a
17973 query just because we don't know how to adjust the value
17974 in the particular format.
17976 2005-12-24 David Schleef <ds@schleef.org>
17978 * tools/gstreamer-completion:
17979 Replacement for gst-complete written in sh and sed. Only
17980 completes names of features, but that's 90% of what I want
17981 it for. Properties are not available in registry.xml. (Maybe
17984 === release 0.10.1 ===
17986 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
17989 releasing 0.10.1, "Nollaig chridheil"
17991 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
17993 * docs/faq/cvs.xml:
17994 Add missing quote, should be make ERROR_CFLAGS="".
17996 2005-12-20 Wim Taymans <wim@fluendo.com>
17998 * docs/design/part-trickmodes.txt:
17999 More documentation on trickmodes.
18001 2005-12-20 Edward Hervey <edward@fluendo.com>
18003 * gst/gstcaps.c: (gst_static_caps_get_type):
18005 API addition: GST_TYPE_STATIC_CAPS
18006 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18007 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18008 * gst/gstpadtemplate.h:
18009 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18010 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18013 2005-12-18 Wim Taymans <wim@fluendo.com>
18015 * libs/gst/base/gstadapter.c:
18016 * libs/gst/base/gstadapter.h:
18017 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18018 (gst_base_sink_get_position):
18019 * libs/gst/base/gstbasesink.h:
18020 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18021 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18022 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18023 (gst_base_src_send_event), (gst_base_src_update_length),
18024 (gst_base_src_get_range), (gst_base_src_loop),
18025 (gst_base_src_start):
18026 * libs/gst/base/gstbasesrc.h:
18027 * libs/gst/base/gstbasetransform.h:
18028 * libs/gst/base/gstcollectpads.h:
18029 * libs/gst/base/gstpushsrc.c:
18030 * libs/gst/base/gstpushsrc.h:
18031 * libs/gst/dataprotocol/dataprotocol.c:
18032 * libs/gst/dataprotocol/dataprotocol.h:
18033 * libs/gst/net/gstnetclientclock.h:
18034 * libs/gst/net/gstnettimeprovider.h:
18035 Documentation updates.
18037 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18039 * docs/manual/basics-helloworld.xml:
18040 Remove superfluous closing bracket in helloworld example.
18042 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18044 * tools/gst-launch.1.in:
18045 Update gst-launch man page; add a section with useful
18046 environment variables. Fixes #323882.
18048 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18051 * gst/gst_private.h:
18052 change some char* into char[]
18054 2005-12-16 Wim Taymans <wim@fluendo.com>
18056 * gst/gstregistryxml.c: (load_feature):
18058 Don't use g_object_unref on GstObjects so that we avoid
18059 leaks on unsafe glibs.
18061 2005-12-16 Wim Taymans <wim@fluendo.com>
18063 * gst/gstbin.c: (gst_bin_recalc_state):
18066 2005-12-16 Wim Taymans <wim@fluendo.com>
18068 * common/check.mak:
18069 Added make forever target for check.
18071 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18073 * gst/gst.c: (init_post):
18074 make the registry cache file HOST_CPU-dependent
18076 2005-12-16 Andy Wingo <wingo@pobox.com>
18078 * plugins/elements/gstbufferstore.c
18079 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18082 * tests/check/gst/gstobject.c
18083 (test_fake_object_name_threaded_unique): Pay attention to
18084 g_list_sort return value.
18086 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18088 * tools/gst-feedback-m.m:
18089 Update for 0.9/0.10 (fixes #323870).
18091 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18093 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18094 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18096 * tests/check/gst/gstminiobject.c: (my_foo_init),
18097 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18098 (test_value_collection), (gst_mini_object_suite):
18099 Add test to ensure refcounts end up as expected when passing
18100 GstMiniObjects through g_object_get() and g_object_set().
18102 2005-12-14 Julien MOUTTE <julien@moutte.net>
18104 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18105 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18106 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18107 of collectpads. This version removes a lot of races without
18108 touching API/ABI. Yay !
18110 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18112 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18113 Don't allow activation of a srcpad in pull_range if it has no
18115 Change some debug statements to be a little clearer
18117 * plugins/elements/gsttypefindelement.c:
18118 (gst_type_find_handle_src_query):
18119 Check that we have a peer before executing queries thereupon.
18121 * tests/examples/metadata/read-metadata.c: (message_loop):
18122 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18123 immediately return us any available message with 0 timeout.
18125 2005-12-12 Michael Smith <msmith@fluendo.com>
18127 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18128 Don't unref factories after calling them.
18129 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18130 * plugins/elements/gsttypefindelement.c:
18131 (gst_type_find_element_chain):
18132 Free lists of factories after using them. Fixing typefinding memory
18135 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18137 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18138 (gst_plugin_feature_load):
18139 more meaningful debug output
18141 * tests/Makefile.am:
18142 * tests/old/examples/Makefile.am:
18143 make make distcheck happy again
18145 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18147 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18148 Catch the special case where we are operating chain-based,
18149 but the downstream peer pad has no chain function. Emit a
18150 custom error message in this case instead of letting the
18151 core generate one implying that this is some sort of core
18152 bug. It's not, it just means that whatever got plugged
18153 into the pipeline downstream when we announced the type
18154 can only operate pull-based, while our source can only
18155 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18156 Error string has not been marked for translation yet, as
18157 it probably needs some more work first.
18159 (gst_type_find_element_get_best_possibility):
18160 Add helper function to find the best of all available
18161 found possibilities that qualify given the min. threshold.
18163 (gst_type_find_element_handle_event):
18164 Fix the case where we get an EOS while still in TYPEFIND
18165 mode (we want to chose the best of all possible types,
18166 not just the first type that happens to be in our unsorted
18167 list of possible types).
18169 (gst_type_find_element_chain):
18170 Make sure we return GST_FLOW_ERROR when we errored out
18171 in stop_typefinding(); also, don't just find the best of
18172 all found type entries and then use the last examined
18173 type entry, but actually use the best entry.
18175 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18177 * tests/examples/typefind/typefind.c: (type_found):
18178 * tests/examples/xml/runxml.c: (xml_loaded):
18179 More gcc4 fixes and a mem leak fix.
18181 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18183 * tests/examples/xml/createxml.c: (object_saved):
18186 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18188 * tests/Makefile.am:
18189 enable the examples even more
18191 2005-12-12 Andy Wingo <wingo@pobox.com>
18193 * libs/gst/net/gstnettimeprovider.c
18194 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18195 (gst_net_time_provider_set_property)
18196 (gst_net_time_provider_get_property):
18197 API addition: Export "active" as a GObject property.
18198 (gst_net_time_provider_thread): Only respond to time queries if
18199 the time provider is active.
18201 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18202 NetTimeProvider, preserving binary compat.
18204 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18206 * tests/examples/controller/audio-example.c: (main):
18207 * tests/examples/launch/Makefile.am:
18208 convert comments again
18210 2005-12-12 Wim Taymans <wim@fluendo.com>
18212 * libs/gst/base/gstpushsrc.c:
18215 2005-12-12 Wim Taymans <wim@fluendo.com>
18217 * docs/libs/gstreamer-libs-sections.txt:
18218 Added new symbol to docs.
18220 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18221 (gst_base_src_init), (gst_base_src_set_format),
18222 (gst_base_src_default_query), (gst_base_src_query),
18223 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18224 (gst_base_src_perform_seek), (gst_base_src_send_event),
18225 (gst_base_src_default_event), (gst_base_src_event_handler),
18226 (gst_base_src_set_property), (gst_base_src_get_property),
18227 (gst_base_src_wait), (gst_base_src_do_sync),
18228 (gst_base_src_update_length), (gst_base_src_get_range),
18229 (gst_base_src_check_get_range), (gst_base_src_loop),
18230 (gst_base_src_default_negotiate), (gst_base_src_start),
18231 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18232 (gst_base_src_change_state):
18233 * libs/gst/base/gstbasesrc.h:
18234 Implement seeking to other formats than _BYTES.
18235 Implement more seeking methods correctly.
18237 Added query vmethod.
18238 Added do_seek vmethod to make life easier for subclasses
18240 API addition: gst_base_src_set_format()
18242 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18244 * tests/examples/Makefile.am:
18247 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18250 * docs/random/ensonic/media-device-daemon.txt:
18251 * tests/examples/controller/.cvsignore:
18252 * tests/examples/controller/Makefile.am:
18253 * tests/examples/controller/audio-example.c: (main):
18254 * tests/examples/helloworld/.cvsignore:
18255 * tests/examples/helloworld/Makefile.am:
18256 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18257 * tests/examples/launch/.cvsignore:
18258 * tests/examples/launch/Makefile.am:
18259 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18260 * tests/examples/metadata/.cvsignore:
18261 * tests/examples/metadata/Makefile.am:
18262 * tests/examples/metadata/read-metadata.c: (message_loop),
18263 (make_pipeline), (print_tag), (main):
18264 * tests/examples/queue/.cvsignore:
18265 * tests/examples/queue/Makefile.am:
18266 * tests/examples/queue/queue.c: (event_loop), (main):
18267 * tests/examples/typefind/.cvsignore:
18268 * tests/examples/typefind/Makefile.am:
18269 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18271 * tests/examples/xml/.cvsignore:
18272 * tests/examples/xml/Makefile.am:
18273 * tests/examples/xml/createxml.c: (object_saved), (main):
18274 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18275 * tests/old/examples/Makefile.am:
18276 * tests/old/examples/TODO:
18277 * tests/old/examples/controller/.cvsignore:
18278 * tests/old/examples/controller/Makefile.am:
18279 * tests/old/examples/controller/audio-example.c:
18280 * tests/old/examples/helloworld/.cvsignore:
18281 * tests/old/examples/helloworld/Makefile.am:
18282 * tests/old/examples/helloworld/helloworld.c:
18283 * tests/old/examples/launch/.cvsignore:
18284 * tests/old/examples/launch/Makefile.am:
18285 * tests/old/examples/launch/mp3parselaunch.c:
18286 * tests/old/examples/launch/mp3play:
18287 * tests/old/examples/manual/Makefile.am:
18288 * tests/old/examples/metadata/Makefile.am:
18289 * tests/old/examples/metadata/read-metadata.c:
18290 * tests/old/examples/queue/.cvsignore:
18291 * tests/old/examples/queue/Makefile.am:
18292 * tests/old/examples/queue/queue.c:
18293 * tests/old/examples/typefind/.cvsignore:
18294 * tests/old/examples/typefind/Makefile.am:
18295 * tests/old/examples/typefind/typefind.c:
18296 * tests/old/examples/xml/.cvsignore:
18297 * tests/old/examples/xml/Makefile.am:
18298 * tests/old/examples/xml/createxml.c:
18299 * tests/old/examples/xml/runxml.c:
18300 applied some simple fixing to some examples
18301 re-enabled the working examples
18303 2005-12-12 Wim Taymans <wim@fluendo.com>
18305 * gst/gstsegment.c: (gst_segment_init),
18306 (gst_segment_set_last_stop), (gst_segment_set_seek),
18307 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18308 (gst_segment_to_running_time):
18309 Added more documentation.
18310 Make sure the last_pos value is updated properly.
18311 Make sure to_stream_time and to_running_time don't
18312 operate on wrong values.
18314 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18317 2005-12-12 Michael Smith <msmith@fluendo.com>
18319 * plugins/elements/gsttypefindelement.c: (free_entry),
18320 (gst_type_find_element_chain):
18321 Now that we're not leaking factories, make sure we keep references
18322 to them while we need them.
18324 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18326 * tests/check/gst/struct_i386.h:
18327 ifdef out the XML structs
18329 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18331 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18332 floor is not needed, F is always positive; this obviates the
18333 need for adding -lm when building without libxml
18335 2005-12-12 Wim Taymans <wim@fluendo.com>
18337 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18338 Take current playback rate into account when reporting
18341 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18343 * docs/manual/mime-world.fig:
18344 Let's try this again, this time with a file that is
18345 actually in XFig format.
18347 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18349 * docs/manual/mime-world.fig:
18350 Add audioconvert element to diagram so that it
18351 matches the text and the code (fixes #319526).
18353 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18355 * docs/pwg/building-chainfn.xml:
18356 * docs/pwg/building-pads.xml:
18357 * docs/pwg/building-state.xml:
18358 * docs/pwg/other-source.xml:
18359 Update state change stuff for 0.10 (fixes #322969).
18361 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18363 * docs/manual/advanced-dataaccess.xml:
18364 * docs/manual/appendix-checklist.xml:
18365 * docs/manual/appendix-programs.xml:
18366 * docs/manual/basics-pads.xml:
18367 * docs/manual/highlevel-components.xml:
18368 * docs/manual/manual.xml:
18369 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18370 add converters in front of pipelines; remove curly
18371 brackets for threads stuff, they no longer exist; use
18372 GST_TYPE_FRACTION for framerates; update some pieces of
18373 code to 0.10, but there's plenty more to do.
18375 * docs/manual/appendix-porting.xml:
18376 Expand on asynchroneous state changes; s/0.9/0.10/;
18377 mention disappearance of gst_init_get_popt_table()
18380 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18382 * docs/faq/using.xml:
18383 Spider no longer exists, and neither does gst-launch-ext.
18384 Update examples to use decodebin and playbin and put
18385 converters in front of sinks (fixes #323726).
18387 2005-12-09 Michael Smith <msmith@fluendo.com>
18389 * plugins/elements/gsttypefindelement.c: (find_peek),
18390 (gst_type_find_element_chain):
18391 Fix leaking element factories in typefinding.
18392 Fix problem where we forgot about a probable type on non-seekable
18393 files, and thus later mis-typefound it.
18395 2005-12-09 Michael Smith <msmith@fluendo.com>
18397 * common/m4/gst-makecontext.m4:
18398 * common/m4/gst-mcsc.m4:
18400 * win32/common/config.h:
18401 * win32/common/config.h.in:
18402 Remove makecontext stuff; not used in 0.10 and causes problems on
18403 HPUX according to bug #322441
18405 2005-12-07 Wim Taymans <wim@fluendo.com>
18407 * tests/check/Makefile.am:
18408 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18410 * tests/check/libs/struct_i386.h:
18411 Added ABI check for libs
18413 2005-12-07 Wim Taymans <wim@fluendo.com>
18415 * tests/check/Makefile.am:
18416 And add the struct_i386.h to dist.
18418 2005-12-07 Wim Taymans <wim@fluendo.com>
18420 * tests/check/Makefile.am:
18421 * tests/check/gst/.cvsignore:
18422 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18424 * tests/check/gst/struct_i386.h:
18425 Added check for ABI compatibility.
18427 2005-12-07 Wim Taymans <wim@fluendo.com>
18429 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18430 (gst_fake_src_get_times), (gst_fake_src_create):
18431 Fix broken sync option, fixes #323259
18433 2005-12-07 Wim Taymans <wim@fluendo.com>
18438 * gst/gstcaps.c: (gst_caps_is_equal):
18439 Don't assert on NULL <--> X. Fixes #323260
18441 * gst/gstminiobject.c: (gst_mini_object_replace):
18442 If we're doing atomic operations, we might just as well use
18443 the proper way to get an atomic pointer.
18445 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18446 Clean up debugging.
18448 2005-12-07 Michael Smith <msmith@fluendo.com>
18450 * gst/parse/grammar.y:
18451 Remove handling of { } for threads.
18453 2005-12-06 David Schleef <ds@schleef.org>
18455 * libs/gst/base/gstbasetransform.c: speling fix.
18457 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
18459 * docs/libs/tmpl/gstdataprotocol.sgml:
18460 * docs/random/omega/testing/gstobject.c:
18463 * gst/gstelement.c:
18464 * gst/gstelementfactory.c:
18467 * gst/gstghostpad.c:
18469 * gst/gstpadtemplate.c:
18470 * gst/gstregistryxml.c:
18471 * gst/gsttaglist.c:
18472 * gst/gsttagsetter.c:
18473 * gst/gsttypefind.c:
18475 * libs/gst/base/gstbasesrc.c:
18476 * libs/gst/net/gstnetclientclock.c:
18477 * libs/gst/net/gstnettimeprovider.c:
18478 * plugins/elements/gstfakesrc.c:
18479 * plugins/elements/gstfdsrc.c:
18480 * plugins/elements/gstfilesrc.c:
18481 * plugins/elements/gstidentity.c:
18482 * plugins/elements/gstqueue.c:
18483 * plugins/elements/gsttypefindelement.c:
18484 * plugins/indexers/gstfileindex.c:
18485 * plugins/indexers/gstmemindex.c:
18486 * tests/check/gst/gsttag.c:
18487 * tests/old/examples/cutter/cutter.c:
18488 * tests/old/examples/mixer/mixer.c:
18489 * tests/old/examples/xml/runxml.c: (main):
18490 * tests/old/testsuite/caps/normalisation.c:
18491 * tests/old/testsuite/debug/global.c:
18492 * tests/old/testsuite/parse/parse1.c:
18493 * tools/gst-xmlinspect.c:
18494 * win32/common/dirent.c:
18497 === release 0.10.0 ===
18499 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18502 releasing 0.10.0, "Maroilles"
18504 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18506 submitted by: Funda Wang <fundawang@linux.net.cn>
18510 added Chinese (Traditional) translation
18512 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18514 * docs/gst/gstreamer-sections.txt:
18515 * docs/libs/tmpl/gstdataprotocol.sgml:
18516 * docs/random/thomasvs/TODO:
18521 2005-12-05 Andy Wingo <wingo@pobox.com>
18523 patch by: Wim Taymans <wim@fluendo.com>
18525 * libs/gst/base/gstbasetransform.c
18526 (gst_base_transform_prepare_output_buf)
18527 (gst_base_transform_buffer_alloc):
18528 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18529 alloc_buffer_and_set_caps.
18531 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18532 set_caps on the source pad.
18533 (gst_pad_alloc_buffer_and_set_caps): New function, does what
18534 alloc_buffer used to do. Fixes #322874.
18536 * docs/gst/gstreamer-sections.txt:
18537 * docs/design/part-negotiation.txt:
18538 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18541 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18543 patch by: Sebastien Moutte
18546 * win32/common/config.h.in:
18547 * win32/vs6/libgstcontroller.dsp:
18550 2005-12-05 Wim Taymans <wim@fluendo.com>
18552 * gst/gstcaps.c: (gst_caps_is_equal):
18553 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18554 (gst_fake_src_create):
18555 Back out previous code changes, leave doc updates, file bugs
18558 2005-12-05 Wim Taymans <wim@fluendo.com>
18560 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18561 (gst_fake_src_get_times), (gst_fake_src_create):
18562 * plugins/elements/gstfakesrc.h:
18563 Fix broken sync code.
18565 2005-12-05 Wim Taymans <wim@fluendo.com>
18567 * gst/gstcaps.c: (gst_caps_is_equal):
18568 Comparing NULL against !NULL yields different caps, not a
18571 2005-12-05 Wim Taymans <wim@fluendo.com>
18573 * gst/gstpipeline.c:
18574 Fix small typo in docs.
18576 2005-12-05 Andy Wingo <wingo@pobox.com>
18578 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
18580 * gst/gst.c (init_post): remove hard-coded 0.9 location for
18581 registries/plugins with a MAJORMINOR one.
18582 (plugin_desc): Rename library from gstcoreleements to
18583 staticelements. Fixes #323222.
18585 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
18587 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18588 Change debug category to 'collectpads' from 'collect_pads'
18591 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18593 patch by: Sebastien Moutte
18595 * libs/gst/controller/gstinterpolation.c:
18596 use convert function for uint64/double
18597 * win32/vs6/libgstcontroller.dsp:
18600 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18602 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18603 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18605 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18606 add tests that seem to show that the guint64/gdouble conversions
18609 2005-12-02 Wim Taymans <wim@fluendo.com>
18611 * gst/gstregistry.c: (gst_registry_add_path):
18612 * gst/gstregistry.h:
18613 * gst/gstregistryxml.c:
18616 2005-12-02 Wim Taymans <wim@fluendo.com>
18618 * gst/gstutils.c: (gst_util_uint64_scale_int64),
18619 (gst_util_uint64_scale_int):
18622 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18623 Add debug log line.
18625 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18628 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18631 * win32/common/config.h:
18632 * win32/vs6/gstreamer.dsw:
18633 * win32/vs6/libgstcoreelements.dsp:
18634 * win32/vs6/libgstelements.dsp:
18635 renamed core elements plugin
18637 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18639 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18641 do piece-wise major/minor comparison so 0.9 < 0.10
18642 also allow .exe extensions for tools
18644 2005-12-02 Michael Smith <msmith@fluendo.com>
18647 Escape a % to make gtkdoc happier; bug 322958.
18649 === release 0.9.7 ===
18651 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18654 releasing 0.9.7, "My Dog Has No Nose"
18656 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18658 * common/gst-xmlinspect.py:
18660 * docs/libs/tmpl/gstdataprotocol.sgml:
18661 * docs/random/release:
18680 * win32/common/config.h:
18681 * win32/common/config.h.in:
18682 * win32/vs6/gst_inspect.dsp:
18683 * win32/vs6/gst_launch.dsp:
18684 * win32/vs6/libgstbase.dsp:
18685 * win32/vs6/libgstelements.dsp:
18686 * win32/vs6/libgstreamer.dsp:
18687 * win32/vs7/GStreamer.vcproj:
18688 * win32/vs7/gst-inspect.vcproj:
18689 * win32/vs7/gst-launch.vcproj:
18690 * win32/vs7/libgstbase.vcproj:
18691 bump GST_MAJORMINOR to 0.10
18692 reset libtool version
18694 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18698 Added Bulgarian translation by (Alexander Shopov)
18700 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18702 * tests/check/gst/gstplugin.c:
18705 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18707 * common/gst-xmlinspect.py:
18708 * common/gtk-doc-plugins.mak:
18710 * docs/Makefile.am:
18711 * docs/gst/Makefile.am:
18712 * docs/gst/gstreamer-docs.sgml:
18713 * docs/gst/gstreamer-sections.txt:
18714 * docs/gst/gstreamer.types:
18715 * docs/gst/gstreamer.types.in:
18716 * docs/plugins/Makefile.am:
18717 * docs/plugins/gstreamer-plugins-docs.sgml:
18718 * docs/plugins/gstreamer-plugins-sections.txt:
18719 * docs/plugins/gstreamer-plugins.types:
18720 * docs/plugins/inspect.stamp:
18721 * docs/plugins/inspect/plugin-coreelements.xml:
18722 * docs/plugins/inspect/plugin-coreindexers.xml:
18723 * docs/plugins/scanobj-build.stamp:
18724 * gstreamer.spec.in:
18725 * plugins/elements/Makefile.am:
18726 * plugins/elements/gstelements.c:
18727 * plugins/elements/gstfakesink.c:
18728 * plugins/elements/gstfakesrc.c:
18729 * plugins/elements/gstfilesink.c:
18730 * plugins/elements/gstfilesrc.c:
18731 * plugins/elements/gstqueue.c:
18732 * plugins/indexers/Makefile.am:
18733 * plugins/indexers/gstindexers.c:
18734 document core plugins in a separate document just like all the
18736 rename these plugins to something starting with core
18738 2005-12-01 Andy Wingo <wingo@pobox.com>
18740 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18741 padding here before, but it missed the commit.
18743 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18745 * libs/gst/controller/gstinterpolation.c:
18746 whitespace prices have crashed, we should feel free to use some now
18747 use gst_guint64_to_gdouble
18749 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18751 * libs/gst/controller/gstcontroller.c:
18752 * libs/gst/controller/gsthelper.c:
18753 * libs/gst/controller/gstinterpolation.c:
18754 * libs/gst/controller/lib.c:
18755 wrap config.h include
18757 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18759 * docs/gst/gstreamer-sections.txt:
18762 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18764 * plugins/elements/gstelements.c:
18765 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18766 (gst_fd_sink__class_init), (gst_fd_sink__init),
18767 (gst_fd_sink__chain), (gst_fd_sink__set_property),
18768 (gst_fd_sink__get_property):
18769 * plugins/elements/gstfdsink.h:
18770 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18771 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18772 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18773 (gst_fd_src_unlock), (gst_fd_src_set_property),
18774 (gst_fd_src_get_property), (gst_fd_src_create),
18775 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18776 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18777 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18778 (gst_fd_src_uri_handler_init):
18779 * plugins/elements/gstfdsrc.h:
18780 * plugins/elements/gstqueue.c: (gst_queue_get_type):
18783 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18785 * docs/gst/Makefile.am:
18786 * docs/gst/gstreamer.types.in:
18790 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18796 * gst/gstregistry.h:
18797 * tests/benchmarks/complexity.c:
18798 * tests/benchmarks/mass-elements.c:
18799 * tests/check/Makefile.am:
18800 * tools/Makefile.am:
18801 * tools/gst-inspect.c:
18802 * tools/gst-xmlinspect.c:
18803 various fixes to make
18804 --disable-nls --disable-registry --disable-loadsave
18805 --disable-parse --disable-gst-debug
18806 work and get the core .so down to 360444 bytes after stripping
18808 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18813 * docs/random/thomasvs/TODO:
18814 * tests/Makefile.am:
18818 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18820 * win32/GStreamer.vcproj:
18823 * win32/Makefile.inspect:
18824 * win32/Makefile.launch:
18825 * win32/Makefile.register:
18826 * win32/README.txt:
18827 * win32/gst-inspect.vcproj:
18828 * win32/gst-launch.vcproj:
18829 * win32/gst-register.vcproj:
18830 * win32/gstelements.vcproj:
18831 * win32/gstgetbits.def:
18832 * win32/gstgetbits.vcproj:
18833 * win32/gstreamer-dbg.def:
18834 * win32/gstreamer.def:
18835 * win32/libgstbase.def:
18836 * win32/libgstbase.vcproj:
18837 * win32/link_oldruntime.c:
18841 * win32/msvc71.sln:
18842 move even more stuff, win32/ is nice and clean now
18844 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18846 * libs/gst/control/.cvsignore:
18851 * win32/gstbytestream.def:
18852 * win32/gstbytestream.vcproj:
18853 * win32/gstconfig.h:
18854 * win32/gstenumtypes.c:
18855 * win32/gstenumtypes.h:
18856 * win32/gstoptimalscheduler.vcproj:
18857 * win32/gstversion.h:
18859 * win32/testsuite/bins.vcproj:
18860 * win32/testsuite/bytestream.vcproj:
18861 * win32/testsuite/caps.vcproj:
18862 * win32/testsuite/cleanup.vcproj:
18863 * win32/testsuite/clock.vcproj:
18864 * win32/testsuite/debug.vcproj:
18865 * win32/testsuite/dlopen.vcproj:
18866 * win32/testsuite/dynparams.vcproj:
18867 * win32/testsuite/elements.vcproj:
18868 * win32/testsuite/ghostpads.vcproj:
18869 * win32/testsuite/indexers.vcproj:
18870 * win32/testsuite/negotiation.vcproj:
18871 * win32/testsuite/parse.vcproj:
18872 * win32/testsuite/plugin.vcproj:
18873 * win32/testsuite/refcounting.vcproj:
18874 * win32/testsuite/schedulers.vcproj:
18875 * win32/testsuite/states.vcproj:
18876 * win32/testsuite/tags.vcproj:
18877 * win32/testsuite/threads.vcproj:
18878 remove old win32 stuff that isn't maintained and should be
18881 2005-11-30 Andy Wingo <wingo@pobox.com>
18883 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
18884 loading the gst.interfaces python module bork.
18886 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
18887 available since GLib 2.2. Fixes #318031.
18889 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18892 * check/.cvsignore:
18893 * check/Makefile.am:
18894 * check/elements/.cvsignore:
18895 * check/elements/fakesrc.c:
18896 * check/elements/fdsrc.c:
18897 * check/elements/identity.c:
18898 * check/generic/.cvsignore:
18899 * check/generic/states.c:
18900 * check/gst-libs/.cvsignore:
18901 * check/gst-libs/controller.c:
18902 * check/gst-libs/gdp.c:
18903 * check/gst/.cvsignore:
18904 * check/gst/capslist.h:
18906 * check/gst/gstbin.c:
18907 * check/gst/gstbuffer.c:
18908 * check/gst/gstbus.c:
18909 * check/gst/gstcaps.c:
18910 * check/gst/gstelement.c:
18911 * check/gst/gstevent.c:
18912 * check/gst/gstghostpad.c:
18913 * check/gst/gstiterator.c:
18914 * check/gst/gstmessage.c:
18915 * check/gst/gstminiobject.c:
18916 * check/gst/gstobject.c:
18917 * check/gst/gstpad.c:
18918 * check/gst/gstpipeline.c:
18919 * check/gst/gstplugin.c:
18920 * check/gst/gstsegment.c:
18921 * check/gst/gststructure.c:
18922 * check/gst/gstsystemclock.c:
18923 * check/gst/gsttag.c:
18924 * check/gst/gstutils.c:
18925 * check/gst/gstvalue.c:
18926 * check/net/.cvsignore:
18927 * check/net/gstnetclientclock.c:
18928 * check/net/gstnettimeprovider.c:
18929 * check/pipelines/.cvsignore:
18930 * check/pipelines/cleanup.c:
18931 * check/pipelines/simple_launch_lines.c:
18932 * check/pipelines/stress.c:
18933 * check/states/.cvsignore:
18934 * check/states/sinks.c:
18936 * examples/Makefile.am:
18937 * examples/appreader/.cvsignore:
18938 * examples/appreader/Makefile.am:
18939 * examples/appreader/appreader.c:
18940 * examples/controller/.cvsignore:
18941 * examples/controller/Makefile.am:
18942 * examples/controller/audio-example.c:
18943 * examples/cutter/.cvsignore:
18944 * examples/cutter/Makefile.am:
18945 * examples/cutter/cutter.c:
18946 * examples/cutter/cutter.h:
18947 * examples/events/Makefile.am:
18948 * examples/events/seek.c:
18949 * examples/helloworld/.cvsignore:
18950 * examples/helloworld/Makefile.am:
18951 * examples/helloworld/helloworld.c:
18952 * examples/helloworld2/.cvsignore:
18953 * examples/helloworld2/Makefile.am:
18954 * examples/helloworld2/helloworld2.c:
18955 * examples/launch/.cvsignore:
18956 * examples/launch/Makefile.am:
18957 * examples/launch/mp3parselaunch.c:
18958 * examples/launch/mp3play:
18959 * examples/manual/.cvsignore:
18960 * examples/manual/Makefile.am:
18961 * examples/manual/extract.pl:
18962 * examples/metadata/Makefile.am:
18963 * examples/metadata/read-metadata.c:
18964 * examples/mixer/.cvsignore:
18965 * examples/mixer/Makefile.am:
18966 * examples/mixer/mixer.c:
18967 * examples/mixer/mixer.h:
18968 * examples/pingpong/.cvsignore:
18969 * examples/pingpong/Makefile.am:
18970 * examples/pingpong/pingpong.c:
18971 * examples/plugins/.cvsignore:
18972 * examples/plugins/Makefile.am:
18973 * examples/plugins/example.c:
18974 * examples/plugins/example.h:
18975 * examples/pwg/.cvsignore:
18976 * examples/pwg/Makefile.am:
18977 * examples/pwg/extract.pl:
18978 * examples/queue/.cvsignore:
18979 * examples/queue/Makefile.am:
18980 * examples/queue/queue.c:
18981 * examples/queue2/.cvsignore:
18982 * examples/queue2/Makefile.am:
18983 * examples/queue2/queue2.c:
18984 * examples/queue3/.cvsignore:
18985 * examples/queue3/Makefile.am:
18986 * examples/queue3/queue3.c:
18987 * examples/queue4/.cvsignore:
18988 * examples/queue4/Makefile.am:
18989 * examples/queue4/queue4.c:
18990 * examples/retag/.cvsignore:
18991 * examples/retag/Makefile.am:
18992 * examples/retag/retag.c:
18993 * examples/retag/transcode.c:
18994 * examples/thread/.cvsignore:
18995 * examples/thread/Makefile.am:
18996 * examples/thread/thread.c:
18997 * examples/typefind/.cvsignore:
18998 * examples/typefind/Makefile.am:
18999 * examples/typefind/typefind.c:
19000 * examples/xml/.cvsignore:
19001 * examples/xml/Makefile.am:
19002 * examples/xml/createxml.c:
19003 * examples/xml/runxml.c:
19004 * tests/Makefile.am:
19005 * tests/check/Makefile.am:
19006 * testsuite/.cvsignore:
19007 * testsuite/Makefile.am:
19009 * testsuite/caps/.cvsignore:
19010 * testsuite/caps/Makefile.am:
19011 * testsuite/caps/app_fixate.c:
19012 * testsuite/caps/audioscale.c:
19013 * testsuite/caps/caps.c:
19014 * testsuite/caps/caps.h:
19015 * testsuite/caps/caps_strings:
19016 * testsuite/caps/compatibility.c:
19017 * testsuite/caps/deserialize.c:
19018 * testsuite/caps/enumcaps.c:
19019 * testsuite/caps/eratosthenes.c:
19020 * testsuite/caps/filtercaps.c:
19021 * testsuite/caps/fixed.c:
19022 * testsuite/caps/fraction-convert.c:
19023 * testsuite/caps/fraction-multiply-and-zero.c:
19024 * testsuite/caps/intersect2.c:
19025 * testsuite/caps/intersection.c:
19026 * testsuite/caps/normalisation.c:
19027 * testsuite/caps/random.c:
19028 * testsuite/caps/renegotiate.c:
19029 * testsuite/caps/sets.c:
19030 * testsuite/caps/simplify.c:
19031 * testsuite/caps/string-conversions.c:
19032 * testsuite/caps/structure.c:
19033 * testsuite/caps/subtract.c:
19034 * testsuite/caps/union.c:
19035 * testsuite/debug/.cvsignore:
19036 * testsuite/debug/Makefile.am:
19037 * testsuite/debug/category.c:
19038 * testsuite/debug/commandline.c:
19039 * testsuite/debug/global.c:
19040 * testsuite/debug/output.c:
19041 * testsuite/debug/printf_extension.c:
19042 * testsuite/dlopen/.cvsignore:
19043 * testsuite/dlopen/Makefile.am:
19044 * testsuite/dlopen/dlopen_gst.c:
19045 * testsuite/dlopen/loadgst.c:
19046 * testsuite/elements/.cvsignore:
19047 * testsuite/elements/Makefile.am:
19048 * testsuite/elements/gst-inspect-check.in:
19049 * testsuite/elements/struct_i386.h:
19050 * testsuite/elements/struct_size.c:
19051 * testsuite/indexers/.cvsignore:
19052 * testsuite/indexers/Makefile.am:
19053 * testsuite/indexers/cache1.c:
19054 * testsuite/indexers/indexdump.c:
19055 * testsuite/parse/.cvsignore:
19056 * testsuite/parse/Makefile.am:
19057 * testsuite/parse/parse1.c:
19058 * testsuite/parse/parse2.c:
19059 * testsuite/plugin/.cvsignore:
19060 * testsuite/plugin/Makefile.am:
19061 * testsuite/plugin/README:
19062 * testsuite/plugin/dynamic.c:
19063 * testsuite/plugin/linked.c:
19064 * testsuite/plugin/loading.c:
19065 * testsuite/plugin/registry.c:
19066 * testsuite/plugin/static.c:
19067 * testsuite/plugin/static2.c:
19068 * testsuite/plugin/testplugin.c:
19069 * testsuite/plugin/testplugin2.c:
19070 * testsuite/plugin/testplugin2_s.c:
19071 * testsuite/plugin/testplugin_s.c:
19072 * testsuite/refcounting/.cvsignore:
19073 * testsuite/refcounting/Makefile.am:
19074 * testsuite/refcounting/bin.c:
19075 * testsuite/refcounting/element.c:
19076 * testsuite/refcounting/element_pad.c:
19077 * testsuite/refcounting/mainloop.c:
19078 * testsuite/refcounting/mem.c:
19079 * testsuite/refcounting/mem.h:
19080 * testsuite/refcounting/object.c:
19081 * testsuite/refcounting/pad.c:
19082 * testsuite/refcounting/sched.c:
19083 * testsuite/refcounting/thread.c:
19084 * testsuite/states/.cvsignore:
19085 * testsuite/states/Makefile.am:
19086 * testsuite/states/bin.c:
19087 * testsuite/states/locked.c:
19088 * testsuite/states/parent.c:
19089 * testsuite/threads/.cvsignore:
19090 * testsuite/threads/159566.c:
19091 * testsuite/threads/159852.c:
19092 * testsuite/threads/Makefile.am:
19093 * testsuite/threads/queue.c:
19094 * testsuite/threads/signals.c:
19095 * testsuite/threads/staticrec.c:
19096 * testsuite/threads/thread.c:
19097 * testsuite/threads/threadb.c:
19098 * testsuite/threads/threadc.c:
19099 * testsuite/threads/threadd.c:
19100 * testsuite/threads/threade.c:
19101 * testsuite/threads/threadf.c:
19102 * testsuite/threads/threadg.c:
19103 * testsuite/threads/threadh.c:
19104 * testsuite/threads/threadi.c:
19105 move all of these under tests
19107 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19110 * tests/Makefile.am:
19113 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19115 * docs/gst/gstreamer-sections.txt:
19116 * tests/sched/.cvsignore:
19117 * tests/sched/Makefile.am:
19118 * tests/sched/cases/(fs-fs).xml:
19119 * tests/sched/cases/(fs-i-fs).xml:
19120 * tests/sched/cases/(fs-i-i-fs).xml:
19121 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19122 * tests/sched/dynamic-pipeline.c:
19123 * tests/sched/interrupt1.c:
19124 * tests/sched/interrupt2.c:
19125 * tests/sched/interrupt3.c:
19126 * tests/sched/runtestcases:
19127 * tests/sched/runxml.c:
19128 * tests/sched/sched-stress.c:
19129 * tests/sched/sort.c:
19130 * tests/sched/testcases:
19131 * tests/sched/testcases1.tc:
19132 * tests/seeking/.cvsignore:
19133 * tests/seeking/Makefile.am:
19134 * tests/seeking/seeking1.c:
19135 * tests/threadstate/.cvsignore:
19136 * tests/threadstate/Makefile.am:
19137 * tests/threadstate/test1.c:
19138 * tests/threadstate/test2.c:
19139 * tests/threadstate/threadstate1.c:
19140 * tests/threadstate/threadstate2.c:
19141 * tests/threadstate/threadstate3.c:
19142 * tests/threadstate/threadstate4.c:
19143 * tests/threadstate/threadstate5.c:
19144 remove obsolete tests
19146 * tests/bench-complexity.scm:
19147 * tests/bench-mass_elements.scm:
19148 * tests/complexity.c:
19149 * tests/complexity.gnuplot:
19150 * tests/instantiate/.cvsignore:
19151 * tests/instantiate/Makefile.am:
19152 * tests/instantiate/caps.c:
19153 * tests/mass_elements.c:
19154 * tests/network-clock-utils.scm:
19155 * tests/network-clock.scm:
19157 First pass at cleaning up tests/ dir before moving the rest
19158 Combined with CVS surgery
19160 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19163 queue has moved, update
19165 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19167 * docs/gst/gstreamer-sections.txt:
19168 remove double entries from the docs
19169 * gst/gst_private.h:
19170 * gst/gstinfo.c: (_gst_debug_init):
19171 remove the THREAD debug category
19175 * docs/gst/gstreamer.types:
19176 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19177 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19178 completely move queue and fix up debugging categories
19180 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19182 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19183 make initialization portable, using LL is not
19185 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19187 * win32/common/gstconfig.h:
19190 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19192 * win32/common/libgstreamer.def:
19193 rename symbols; sort base section
19195 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19197 * gst/gstclock.c: (do_linear_regression):
19198 remove crack non-portable handrolled DEBUG macro
19200 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19202 * docs/random/release:
19204 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19205 (gst_object_flags_get_type), (register_gst_bin_flags),
19206 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19207 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19208 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19209 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19210 (gst_caps_flags_get_type), (register_gst_clock_return),
19211 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19212 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19213 (gst_clock_flags_get_type), (register_gst_state),
19214 (gst_state_get_type), (register_gst_state_change_return),
19215 (gst_state_change_return_get_type), (register_gst_state_change),
19216 (gst_state_change_get_type), (register_gst_element_flags),
19217 (gst_element_flags_get_type), (register_gst_core_error),
19218 (gst_core_error_get_type), (register_gst_library_error),
19219 (gst_library_error_get_type), (register_gst_resource_error),
19220 (gst_resource_error_get_type), (register_gst_stream_error),
19221 (gst_stream_error_get_type), (register_gst_event_type_flags),
19222 (gst_event_type_flags_get_type), (register_gst_event_type),
19223 (gst_event_type_get_type), (register_gst_seek_type),
19224 (gst_seek_type_get_type), (register_gst_seek_flags),
19225 (gst_seek_flags_get_type), (register_gst_format),
19226 (gst_format_get_type), (register_gst_index_certainty),
19227 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19228 (gst_index_entry_type_get_type),
19229 (register_gst_index_lookup_method),
19230 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19231 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19232 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19233 (gst_index_flags_get_type), (register_gst_debug_level),
19234 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19235 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19236 (gst_iterator_result_get_type), (register_gst_iterator_item),
19237 (gst_iterator_item_get_type), (register_gst_message_type),
19238 (gst_message_type_get_type), (register_gst_mini_object_flags),
19239 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19240 (gst_pad_link_return_get_type), (register_gst_flow_return),
19241 (gst_flow_return_get_type), (register_gst_activate_mode),
19242 (gst_activate_mode_get_type), (register_gst_pad_direction),
19243 (gst_pad_direction_get_type), (register_gst_pad_flags),
19244 (gst_pad_flags_get_type), (register_gst_pad_presence),
19245 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19246 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19247 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19248 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19249 (gst_plugin_flags_get_type), (register_gst_rank),
19250 (gst_rank_get_type), (register_gst_query_type),
19251 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19252 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19253 (gst_tag_flag_get_type), (register_gst_task_state),
19254 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19255 (gst_alloc_trace_flags_get_type),
19256 (register_gst_type_find_probability),
19257 (gst_type_find_probability_get_type), (register_gst_uri_type),
19258 (gst_uri_type_get_type), (register_gst_parse_error),
19259 (gst_parse_error_get_type):
19260 * win32/common/gstenumtypes.h:
19261 * win32/common/gstversion.h:
19262 update visual studio generated files
19264 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19266 * win32/vs6/libgstbase.dsp:
19267 * win32/vs6/libgstelements.dsp:
19268 update project files for new locations
19270 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19275 reinstate and update
19280 * docs/random/LICENSE:
19283 2005-11-30 Edward Hervey <edward@fluendo.com>
19285 * gst/gsttypefind.c: (gst_type_find_register):
19286 * gst/gsttypefind.h:
19287 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19288 (gst_type_find_factory_dispose):
19289 * gst/gsttypefindfactory.h:
19290 Fix memory leak in GstTypeFindFactory.
19292 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19295 * plugins/elements/Makefile.am:
19296 * plugins/elements/gstelements.c:
19297 * plugins/elements/gstqueue.c:
19298 move queue from core to the elements plugin
19300 2005-11-29 Andy Wingo <wingo@pobox.com>
19302 * libs/gst/base/gstbasetransform.h:
19303 * libs/gst/base/gstbasesrc.h:
19304 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19306 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19307 of pointers by which to pad very extensible base classes (like the
19308 ones in libs/gst/base).
19310 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19312 * docs/gst/gstreamer-docs.sgml:
19313 * docs/gst/gstreamer-sections.txt:
19314 * docs/libs/gstreamer-libs-docs.sgml:
19315 * docs/libs/gstreamer-libs-sections.txt:
19316 moving documentation from core to lib
19318 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19320 * check/Makefile.am:
19322 * docs/gst/Makefile.am:
19324 * gst/base/.cvsignore:
19325 * gst/base/Makefile.am:
19327 * gst/base/gstadapter.c:
19328 * gst/base/gstadapter.h:
19329 * gst/base/gstbasesink.c:
19330 * gst/base/gstbasesink.h:
19331 * gst/base/gstbasesrc.c:
19332 * gst/base/gstbasesrc.h:
19333 * gst/base/gstbasetransform.c:
19334 * gst/base/gstbasetransform.h:
19335 * gst/base/gstcollectpads.c:
19336 * gst/base/gstcollectpads.h:
19337 * gst/base/gstpushsrc.c:
19338 * gst/base/gstpushsrc.h:
19339 * gst/base/gsttypefindhelper.c:
19340 * gst/base/gsttypefindhelper.h:
19341 * gst/check/Makefile.am:
19342 * gst/check/gstcheck.c:
19343 * gst/check/gstcheck.h:
19344 * gst/net/Makefile.am:
19345 * gst/net/gstnet.h:
19346 * gst/net/gstnetclientclock.c:
19347 * gst/net/gstnetclientclock.h:
19348 * gst/net/gstnettimepacket.c:
19349 * gst/net/gstnettimepacket.h:
19350 * gst/net/gstnettimeprovider.c:
19351 * gst/net/gstnettimeprovider.h:
19352 * libs/gst/Makefile.am:
19353 * libs/gst/base/Makefile.am:
19354 * libs/gst/base/gstbasetransform.c:
19355 * libs/gst/check/Makefile.am:
19356 * plugins/elements/Makefile.am:
19358 CVS surgery + support to move base, check, and net out of gst
19361 2005-11-29 Andy Wingo <wingo@pobox.com>
19363 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19365 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19368 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19370 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19372 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19374 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19375 padding; reduces object size by about 30%. We don't expect
19376 anything else to go into gstobject.
19378 * gst/gstminiobject.h (struct _GstMiniObject)
19379 (struct _GstMiniObjectClass): Only one pointer of padding; the
19380 payload is only a pointer and two ints anyway. For the class there
19381 are only two methods as well.
19383 * gst/gstelement.h (struct _GstElementClass): Removed
19384 the state_changed signal callback, it is not used.
19386 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19388 * docs/gst/gstreamer.types:
19389 fix includes, though they are a little dinky
19391 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19393 * check/Makefile.am:
19394 look in the right place for elements, a lot more chance of
19397 remove indexers and elements subdirs
19398 * plugins/Makefile.am:
19399 make indexers conditional
19401 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19405 * plugins/elements/Makefile.am:
19406 * plugins/elements/gstcapsfilter.c:
19407 * plugins/elements/gstfilesink.c:
19408 * plugins/elements/gstfilesrc.c:
19409 * plugins/elements/gstidentity.c:
19410 * plugins/indexers/Makefile.am:
19411 do CVS surgery and related build fixery to move elements
19412 and indexers in a new gstreamer/plugins directory, out of the
19415 2005-11-29 Andy Wingo <wingo@pobox.com>
19417 * check/Makefile.am:
19418 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19419 * pkgconfig/gstreamer-net.pc.in:
19420 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19423 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19425 * tools/Makefile.am:
19426 * tools/gst-complete.1.in:
19427 * tools/gst-complete.c:
19428 * tools/gst-compprep.1.in:
19429 * tools/gst-compprep.c:
19430 removing -compprep and -complete
19432 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19434 * gst/gstevent.c: (gst_event_new_new_segment),
19435 (gst_event_parse_new_segment):
19437 fix #320529 - clean up new_segment API and structure.
19438 Let's hope everyone was using the methods, and not the structure.
19440 2005-11-29 Edward Hervey <edward@fluendo.com>
19442 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19443 (gst_base_sink_event), (gst_base_sink_do_sync),
19444 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19445 Properly handle non GST_FORMAT_TIME segment
19446 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19447 Properly handle non GST_FORMAT_TIME segment
19448 * gst/gstsegment.c:
19449 This function is valid if the accumulator is 0 and the format
19450 is different from the requested format.
19452 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19454 * docs/gst/gstreamer-sections.txt:
19455 Add gst_query_new_seeking and gst_query_parse_seeking to the
19458 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19460 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19461 Treat a pad alloc with new caps the same as if we were not
19462 negotiated, in order to allow a changing upstream output
19463 to produce a new format of data.
19465 2005-11-29 Edward Hervey <edward@fluendo.com>
19467 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19468 (gst_base_transform_event), (gst_base_transform_eventfunc):
19469 The event virtual method is now properly implemented, with a default
19471 Sub classes should call the parent_class event method. They should
19472 return FALSE if they had a problem handling the given event, or don't
19473 want GstBaseTransform to send that even downstream
19474 * gst/elements/gstidentity.c: (gst_identity_class_init),
19475 (gst_identity_init), (gst_identity_event),
19476 (gst_identity_transform_ip), (gst_identity_set_property),
19477 (gst_identity_get_property):
19478 * gst/elements/gstidentity.h:
19479 Added the single-segment boolean property.
19480 If set to TRUE, it will output a single segment of data, starting from
19481 0, will eat up all incoming newsegment, and modify the timestamp of the
19482 buffers accordingly
19484 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
19486 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19487 Don't ref NULL target pad (#322751). Improve docs.
19489 2005-11-29 Michael Smith <msmith@fluendo.com>
19491 * gst/gstregistryxml.c: (load_plugin):
19492 Don't crash if we failed to load a feature from a plugin.
19494 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19496 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19498 use more check API and less GLib API
19500 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19503 don't run checks if we don't have check
19504 * common/check.mak:
19505 remove the registry when running make torture
19506 * docs/gst/gstreamer-sections.txt:
19507 remove second multiply
19508 * gst/gstqueue.c: (gst_queue_loop):
19509 fix a compile warning when disabling debug
19511 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19514 Hey! Let's print the pad name if the pointer != NULL instead
19515 of when it == NULL :-)
19517 2005-11-28 Wim Taymans <wim@fluendo.com>
19519 * check/gst/gstutils.c: (GST_START_TEST):
19520 Updated check, add some scaling accuracy checking code.
19522 * gst/gstutils.c: (gst_util_div128_64),
19523 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19524 (gst_util_uint64_scale_int):
19525 Fix 6 times faster division code. Optimize for common
19526 1/1 and less common X/1 cases.
19528 2005-11-28 Wim Taymans <wim@fluendo.com>
19530 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19533 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19534 (do_linear_regression), (gst_clock_add_observation):
19536 Release lock when the clock cannot be slaved.
19537 Catch the case where the regression returned an invalid denominator.
19539 * gst/gstutils.c: (gst_util_div128_64_iterate),
19540 (gst_util_div128_64), (gst_util_uint64_scale_int64),
19541 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19542 Add protentially more performant non-iterative 128/64 divide function
19543 that unfortunatly does not work yet.
19544 Shortcut the trivial 0/X = 0 case.
19545 Remove the warnings on overflow.
19547 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19549 * gst/gstplugin.c: (gst_plugin_register_func):
19550 everything causing a plugin not to load should be at least a WARNING
19552 2005-11-28 Stefan Kost <ensonic@users.sf.net>
19554 * docs/random/ensonic/dparams.txt:
19555 some TODOs for the next dev cycle
19556 * libs/gst/controller/gstcontroller.c:
19557 (gst_controlled_property_set_interpolation_mode),
19558 (gst_controlled_property_new):
19559 * libs/gst/controller/gstcontroller.h:
19560 use base type to assign acccessor functions
19562 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19564 * check/Makefile.am:
19565 Oops, that should have been top_srcdir
19567 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19569 * check/Makefile.am:
19570 * check/elements/fdsrc.c: (GST_START_TEST):
19571 Use a cmdline define to specify the location of a file to use for
19572 testing, to avoid breaking distcheck.
19574 2005-11-28 Andy Wingo <wingo@pobox.com>
19576 * gst/gstpad.c (fixate_value): Use array functions for arrays.
19578 2005-11-28 Edward Hervey <edward@fluendo.com>
19580 * tools/gst-launch.c: (main):
19581 Clarify the output strings, makes it easier to translate.
19584 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19587 don't try and build net if we don't even have <sys/socket.h>
19589 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
19591 * check/Makefile.am:
19592 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19593 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19594 Add tests for fdsrc seekability
19596 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19597 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19598 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19599 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19600 * gst/elements/gstfdsrc.h:
19601 fdsrc should not be a 'live' source.
19602 Implement seeking on seekable fd's.
19604 * gst/gstquery.c: (gst_query_new_seeking),
19605 (gst_query_parse_seeking):
19607 Implement SEEKING query functions:
19608 *_new_seeking and *_parse_seeking
19610 2005-11-27 Stefan Kost <ensonic@users.sf.net>
19612 * gst/gstelement.c: (gst_element_dispose):
19615 * gst/gstiterator.c:
19616 * gst/gststructure.c:
19619 * libs/gst/controller/gstcontroller.c:
19620 (gst_controlled_property_set_interpolation_mode):
19621 * libs/gst/controller/gstcontroller.h:
19622 * libs/gst/controller/gstinterpolation.c:
19623 (interpolate_none_get_enum_value_array):
19624 support controlling enums
19626 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19629 Improve documentation for gst_value_union().
19632 Change return value for union, intersect and subtract functions
19633 from gint to gboolean.
19635 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19637 * gst/gstvalue.c: (gst_value_serialize_any_list),
19638 (gst_value_transform_any_list_string),
19639 (gst_value_deserialize_list), (gst_value_deserialize_array),
19640 (gst_value_set_int_range), (gst_value_deserialize_int_range),
19641 (gst_value_set_double_range), (gst_value_deserialize_double_range),
19642 (gst_value_set_fraction_range_full),
19643 (gst_value_deserialize_fraction_range),
19644 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19645 (gst_value_deserialize_boolean),
19646 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19647 (gst_value_serialize_float), (gst_value_deserialize_float),
19648 (gst_string_wrap), (gst_value_deserialize_string),
19649 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19650 (gst_value_union_int_range_int_range),
19651 (gst_value_intersect_int_range_int_range),
19652 (gst_value_intersect_double_range_double_range),
19653 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19654 (gst_value_subtract_int_range_int_range),
19655 (gst_value_subtract_double_double_range),
19656 (gst_value_subtract_double_range_double_range),
19657 (gst_value_deserialize_fraction):
19659 Use gint, gdouble and gchar in our API instead of int, double and
19660 char (and make usage in gstvalue.c more consistent).
19662 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19664 * check/Makefile.am:
19665 * libs/gst/controller/Makefile.am:
19666 * libs/gst/dataprotocol/Makefile.am:
19667 fix up Makefile.am and remove GST_ENABLE_NEW
19669 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19673 * gst/base/Makefile.am:
19674 * gst/check/Makefile.am:
19675 * gst/elements/Makefile.am:
19676 * gst/net/Makefile.am:
19677 update LDFLAGS use some more
19679 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19681 * common/m4/gst-doc.m4:
19684 2005-11-26 Edward Hervey <edward@fluendo.com>
19686 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19687 This shouldn't issue a g_warning since it returns NULL if it
19688 couldn't find the plugin, and all functions using this behave
19689 properly on a NULL return. Switching to a GST_WARNING.
19691 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
19693 * gst/gstbin.c: (gst_bin_handle_message_func):
19694 Don't leak clock messages.
19696 2005-11-25 Wim Taymans <wim@fluendo.com>
19698 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19699 (gst_util_uint64_scale_int):
19700 Optimisations, remove unneeded vars.
19702 2005-11-25 Wim Taymans <wim@fluendo.com>
19704 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19705 Added more checks for the high precision uint64 cases.
19707 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19708 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19709 Implement high precision (guint64 * guint64) / guint64.
19711 2005-11-24 Wim Taymans <wim@fluendo.com>
19713 * gst/base/gstbasesrc.c: (gst_base_src_query):
19714 Fix wrong percentage query.
19716 * gst/gstutils.c: (gst_util_uint64_scale),
19717 (gst_util_uint64_scale_int):
19718 Add some more common cases that can be handled
19719 efficiently to _scale.
19721 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19723 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19724 (gst_mini_object_suite):
19725 don't use check calls from threads; check probably isn't
19726 threadsafe and using a lock to make it threadsafe would
19727 defeat the purpose of this check
19728 * gst/check/gstcheck.c:
19729 * gst/check/gstcheck.h:
19730 use GST_DEBUG some more
19732 2005-11-24 Wim Taymans <wim@fluendo.com>
19734 * gst/gstutils.c: (gst_util_uint64_scale),
19735 (gst_util_uint64_scale_int):
19736 Chain trivial case to _scale_int.
19738 2005-11-24 Wim Taymans <wim@fluendo.com>
19740 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19741 Added test for scaling.
19746 * gst/gstutils.c: (gst_util_uint64_scale_int):
19747 Implemented high precision scaling code.
19749 2005-11-24 Stefan Kost <ensonic@users.sf.net>
19752 do not crash on pad==NULL
19754 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19756 Patch by: Stefan Kost
19758 * common/gtk-doc.mak:
19759 * docs/gst/Makefile.am:
19760 * docs/libs/Makefile.am:
19761 Fix distcheck issues for the libraries docs build
19764 2005-11-24 Michael Smith <msmith@fluendo.com>
19766 * docs/manual/basics-helloworld.xml:
19767 Fix bug #315027: memory leak in example code in docs.
19769 2005-11-24 Michael Smith <msmith@fluendo.com>
19771 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19772 Unlock the PREROLL_LOCK in a failure case.
19774 2005-11-24 Wim Taymans <wim@fluendo.com>
19776 * docs/gst/gstreamer-sections.txt:
19777 * gst/base/gstadapter.h:
19778 * gst/base/gstbasesink.h:
19779 * gst/base/gstbasesrc.h:
19780 * gst/base/gstbasetransform.h:
19781 * gst/base/gstpushsrc.h:
19782 * gst/elements/gstfakesink.h:
19783 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
19784 * gst/elements/gstfakesrc.h:
19785 * gst/elements/gstfilesink.h:
19786 * gst/elements/gstfilesrc.h:
19789 * gst/gstbuffer.c: (_gst_buffer_copy):
19792 * gst/gstchildproxy.c:
19794 * gst/gstelement.c:
19795 * gst/gstelementfactory.c:
19796 * gst/gstelementfactory.h:
19798 * gst/gstghostpad.h:
19800 * gst/gstinterface.h:
19801 * gst/gstminiobject.c:
19802 * gst/gstminiobject.h:
19805 * gst/gstpadtemplate.h:
19806 * gst/gstpipeline.h:
19807 * gst/gstpluginfeature.h:
19810 * gst/gsttaglist.c:
19811 * gst/gsttaglist.h:
19812 * gst/gsttagsetter.c:
19813 * gst/gsttagsetter.h:
19816 * gst/gsttypefind.h:
19819 * gst/net/gstnetclientclock.c:
19820 * gst/net/gstnetclientclock.h:
19821 * gst/net/gstnettimepacket.c:
19822 * gst/net/gstnettimeprovider.c:
19823 * gst/net/gstnettimeprovider.h:
19826 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19828 * configure.ac: back to HEAD
19830 === release 0.9.6 ===
19832 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19835 releasing 0.9.6, "Always On Time"
19837 2005-11-23 Wim Taymans <wim@fluendo.com>
19839 * docs/gst/gstreamer-sections.txt:
19840 * gst/glib-compat.c:
19841 * gst/gsttagsetter.c:
19843 * gst/net/gstnetclientclock.c:
19844 * gst/net/gstnettimepacket.h:
19847 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19849 * docs/faq/using.xml:
19850 * docs/libs/tmpl/gstcontrol.sgml:
19851 * docs/manual/advanced-dparams.xml:
19852 * docs/manual/appendix-checklist.xml:
19853 * docs/manual/basics-elements.xml:
19854 * docs/pwg/other-source.xml:
19855 * docs/random/moving-plugins:
19857 * tools/gst-launch.1.in:
19858 remove mentions of sinesrc
19860 2005-11-23 Michael Smith <msmith@fluendo.com>
19862 * docs/gst/gstreamer-sections.txt:
19863 Update for new API and API changes.
19865 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
19867 Documentation typo fix.
19868 * gst/net/gstnettimepacket.c:
19869 Documentation fixes for arguments.
19871 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
19873 * gst/gststructure.c: (gst_structure_get_fraction),
19874 (gst_structure_parse_value),
19875 (gst_structure_fixate_field_nearest_fraction):
19876 * gst/gststructure.h:
19877 * gst/gstutils.c: (gst_util_uint64_scale_int):
19879 * scripts/update-funcnames:
19881 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
19882 Make gst_structure_fixate_field_nearest_fraction take a numerator
19883 and denominator argument instead of a GValue
19884 add gst_structure_get_fraction helper function.
19886 2005-11-23 Wim Taymans <wim@fluendo.com>
19888 * docs/design/part-TODO.txt:
19891 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
19892 * gst/net/gstnetclientclock.h:
19893 Use parent fields for timeout and window_size.
19895 2005-11-23 Andy Wingo <wingo@pobox.com>
19897 * check/net/gstnetclientclock.c (test_functioning): Adjust to
19898 rate_num/rate_denom change.
19900 * gst/net/gstnetclientclock.c
19901 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
19902 OBJECT_LOCK. Don't call add_observation with the lock.
19904 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
19906 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
19908 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
19909 deal with rate as a fraction whose numerator and denominator are
19910 GstClockTime values.
19911 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
19912 master; the other fields are protected by the SLAVE_LOCK.
19913 (do_linear_regression): Note that this must be called with the
19915 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
19916 OBJECT_LOCK. Call set_calibration instead of touching the
19917 variables directly.
19918 (gst_clock_set_property, gst_clock_get_property): Protect
19919 master/slave parameters with the SLAVE_LOCK.
19921 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
19922 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
19923 note that all of the instance variables that add_observation and
19924 the set_master functions use are protected by that lock and not
19926 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
19928 * gst/gstclock.c (gst_clock_add_observation): No longer requires
19929 the caller to take the object lock.
19931 2005-11-23 Wim Taymans <wim@fluendo.com>
19933 * gst/gsterror.c: (_gst_core_errors_init):
19935 Add error for clock stuff.
19937 * gst/gstpipeline.c: (gst_pipeline_change_state),
19938 (gst_pipeline_set_clock):
19939 Post clock error when clock cannot be used in a pipeline.
19941 2005-11-23 Stefan Kost <ensonic@users.sf.net>
19943 * docs/gst/gstreamer-sections.txt:
19944 make two symbols from gstinfo private for the docs
19945 * gst/base/gstcollectpads.h:
19947 fix doc typos, update docs
19949 2005-11-22 Wim Taymans <wim@fluendo.com>
19951 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19952 (gst_base_sink_wait), (gst_base_sink_do_sync),
19953 (gst_base_sink_handle_event):
19954 * gst/base/gstbasesink.h:
19955 No need to store the clock, the parent element class already
19958 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
19959 Updates for clock_set returning a gboolean
19961 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
19962 (gst_clock_id_wait_async), (gst_clock_class_init),
19963 (gst_clock_init), (gst_clock_finalize),
19964 (gst_clock_get_internal_time), (gst_clock_get_time),
19965 (gst_clock_slave_callback), (gst_clock_set_master),
19966 (gst_clock_get_master), (do_linear_regression),
19967 (gst_clock_add_observation), (gst_clock_set_property),
19968 (gst_clock_get_property):
19970 Implement master/slave. When setting a clock as a slave, a
19971 periodic timeout is scheduled to sample master and slave times.
19972 Then the slave clock is recalibrated to match offset and rate
19973 of the master clock.
19974 Update logging a bit.
19975 Add flag so that a clock can state that is cannot be slaved to
19978 * gst/gstelement.c: (gst_element_set_clock):
19979 * gst/gstelement.h:
19980 The set clock returns a gboolean for when an element cannot
19981 deal with the selected clock in the pipeline.
19983 * gst/gstpipeline.c: (gst_pipeline_change_state),
19984 (gst_pipeline_set_clock):
19985 * gst/gstpipeline.h:
19986 Handle the case where the selected clock cannot be set on
19989 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
19990 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
19991 (gst_net_client_clock_set_property),
19992 (gst_net_client_clock_get_property),
19993 (gst_net_client_clock_observe_times):
19994 * gst/net/gstnetclientclock.h:
19995 Use regression code in GstClock parent, remove duplicated
19998 2005-11-22 Michael Smith <msmith@fluendo.com>
20000 * gst/gstutils.c: (gst_util_clock_time_scale):
20002 * docs/gst/gstreamer-sections.txt:
20003 Rename method to have extra underscore.
20005 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20007 * gst/elements/Makefile.am:
20008 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20009 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20010 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20011 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20012 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20013 * gst/elements/gstfakesrc.h:
20014 * gst/gstqueue.c: (queue_leaky_get_type):
20015 correctly fix GEnumValues so that nick is the short lowercase
20017 * tools/gst-inspect.c: (print_element_properties_info):
20018 also show the nick, since it's useful to use from parse_launch
20022 2005-11-22 Michael Smith <msmith@fluendo.com>
20024 * gst/gstutils.c: (gst_util_clocktime_scale):
20026 * docs/gst/gstreamer-sections.txt:
20027 Add util method for scaling a clocktime by a fraction. Useful
20028 implementation is left as an exercise for the reader.
20030 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20032 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20033 If needed, allocate storage in the destination value during
20036 2005-11-22 Edward Hervey <edward@fluendo.com>
20038 * docs/gst/gstreamer-sections.txt:
20041 * gst/gsturitype.c:
20042 * gst/gsturitype.h:
20043 * gst/gstutils.c: (gst_util_set_object_arg):
20044 * tools/gst-compprep.c: (main):
20045 * tools/gst-inspect.c: (print_element_properties_info):
20046 Removed GstURI, closes bug #321061
20048 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20050 * check/gst/gststructure.c: (GST_START_TEST):
20051 * gst/gststructure.c: (gst_structure_parse_value):
20052 Oops, broke automatic string type parsing.
20053 Add a test to catch it in future.
20055 2005-11-22 Andy Wingo <wingo@pobox.com>
20057 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20058 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20059 Actually rename the function implementations. Grr.
20061 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20063 * check/gst/capslist.h:
20065 * check/gst/gststructure.c: (GST_START_TEST),
20066 (gst_structure_suite):
20067 Test automatic value type detection in gst_structure_from_string.
20068 * gst/gststructure.c: (gst_structure_parse_value):
20069 Add fraction as a type we try and guess automatically in
20070 caps/structure strings.
20072 2005-11-22 Andy Wingo <wingo@pobox.com>
20074 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20076 * gst/gsttagsetter.h:
20077 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20078 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20079 (gst_tag_setter_add_tag_valist)
20080 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20081 _add_values, _add_valist, and _add_valist_values. Since this is an
20082 interface the function suffixes should be more explicit so
20083 language binding don't end up with element.add_valist ->
20084 gst_tag_setter_add_valist, for example. Fixes #322069.
20086 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20088 * check/gst/gstcaps.c: (GST_START_TEST):
20089 Extend caps string tests to check that a caps to string
20090 conversion is reversible and produces the same caps.
20092 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20093 Output "fraction" as the generic type fraction range, so caps
20094 serialisation and deserialisation works.
20095 * check/gst/capslist.h:
20096 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20097 Support 'MIN' and 'MAX' for deserialising fractions.
20099 2005-11-22 Andy Wingo <wingo@pobox.com>
20101 * gst/gstevent.h (gst_event_new_new_segment)
20102 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20103 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20104 Renamed from *_newsegment, *_buffersize, *_notarget.
20106 * scripts/update-funcnames: New script, performs the changes
20109 2005-11-22 Wim Taymans <wim@fluendo.com>
20111 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20112 Make sure the GstFlowReturn is returned.
20114 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20115 (gst_bus_add_signal_watch):
20117 add gst_bus_add_signal_watch_full.
20119 * gst/gstplugin.c: (gst_plugin_load_file):
20120 Small style cleanup.
20122 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20124 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20125 Block the fakesrc srcpad when we send an event, to avoid
20126 contention on the stream_lock causing random test failures.
20128 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20130 * check/gst/gstvalue.c: (GST_START_TEST):
20131 * gst/gstvalue.c: (gst_value_fraction_subtract):
20134 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20137 include "gstchildproxy.h"
20138 * gst/gstchildproxy.h:
20139 * libs/gst/controller/gstcontroller.h:
20140 use G_GNUC_NULL_TERMINATED
20142 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20144 * check/gst/capslist.h:
20145 * check/gst/gstcaps.c: (GST_START_TEST):
20146 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20147 * gst/gststructure.c: (gst_structure_parse_range),
20148 (gst_structure_fixate_field_nearest_fraction):
20149 * gst/gststructure.h:
20150 * gst/gstvalue.c: (gst_value_init_fraction_range),
20151 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20152 (gst_value_collect_fraction_range),
20153 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20154 (gst_value_set_fraction_range_full),
20155 (gst_value_get_fraction_range_min),
20156 (gst_value_get_fraction_range_max),
20157 (gst_value_serialize_fraction_range),
20158 (gst_value_transform_fraction_range_string),
20159 (gst_value_compare_fraction_range),
20160 (gst_value_deserialize_fraction_range),
20161 (gst_value_intersect_fraction_fraction_range),
20162 (gst_value_intersect_fraction_range_fraction_range),
20163 (gst_value_subtract_fraction_fraction_range),
20164 (gst_value_subtract_fraction_range_fraction),
20165 (gst_value_subtract_fraction_range_fraction_range),
20166 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20167 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20168 (gst_value_transform_string_fraction), (_gst_value_initialize):
20170 Implement fraction ranges and extend GstFraction to support
20171 arithmetic subtraction, as well as deserialization from integer
20172 strings such as "100"
20173 Add a testsuite as for int and double range set operations
20175 2005-11-21 Andy Wingo <wingo@pobox.com>
20177 * gst/gsttaglist.h:
20179 * gst/gststructure.h: Add glib-compat.h.
20181 2005-11-21 Wim Taymans <wim@fluendo.com>
20183 * gst/gstbin.c: (gst_bin_change_state_func):
20186 2005-11-21 Wim Taymans <wim@fluendo.com>
20188 * gst/gstsegment.h:
20189 And add a nice define too.
20191 2005-11-21 Wim Taymans <wim@fluendo.com>
20193 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20194 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20195 (gst_segment_set_duration), (gst_segment_set_last_stop),
20196 (gst_segment_set_seek), (gst_segment_set_newsegment),
20197 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20198 (gst_segment_clip):
20199 * gst/gstsegment.h:
20200 Make binding friendly.
20202 2005-11-21 Andy Wingo <wingo@pobox.com>
20204 * gst/gsttagsetter.h:
20205 * gst/gsttaglist.h:
20206 * gst/gststructure.h:
20208 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20211 * gst/gsterror.c (_gst_core_errors_init):
20212 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20215 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20216 (noinst_HEADERS): noinst the -private.
20218 2005-11-21 Michael Smith <msmith@fluendo.com>
20221 * gst/gstregistry.h:
20222 Remove unimplemented declarations for which we can see no sensible
20225 2005-11-21 Andy Wingo <wingo@pobox.com>
20227 * gst/gst.h: Include glib-compat.h.
20229 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20231 * gst/glib-compat.c: Include the public and the private header.
20233 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20237 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20239 * check/gst/gstevent.c (create_custom_events): Check that
20240 FLUSH_STOP is serialized.
20242 * check/elements/identity.c (event_func):
20243 * check/elements/fakesrc.c (event_func): No stream lock, the core
20246 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20247 stream lock taking, yay.
20249 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20250 ensure that core takes the stream lock.
20252 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20255 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20256 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20257 it already. For the flush start we do take it though so we get the
20258 right preroll state change messages.
20260 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20261 the stream lock here, the core does it for us.
20263 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20264 GST_STREAM_GET_LOCK.
20265 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20266 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20267 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20268 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20269 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20270 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20272 * gst/gstpad.c: Update for stream lock name change.
20274 * gst/base/gstbasesink.c: Update for preroll lock name change.
20276 2005-11-21 Wim Taymans <wim@fluendo.com>
20278 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20279 (gst_clock_get_master):
20281 * gst/gstsystemclock.c: (gst_system_clock_init):
20282 Convert Clock flags to object flags.
20283 Added methods to manage master/slave clocks.
20285 2005-11-21 Wim Taymans <wim@fluendo.com>
20287 * check/gst/gstsegment.c: (GST_START_TEST):
20288 * docs/design/part-TODO.txt:
20289 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20290 (gst_base_sink_event), (gst_base_sink_do_sync),
20291 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20292 (gst_base_sink_query), (gst_base_sink_change_state):
20293 * gst/base/gstbasesink.h:
20294 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20295 (gst_base_src_default_newsegment),
20296 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20297 (gst_base_src_get_range), (gst_base_src_loop),
20298 (gst_base_src_change_state):
20299 * gst/base/gstbasesrc.h:
20300 * gst/base/gstbasetransform.c:
20301 (gst_base_transform_prepare_output_buf),
20302 (gst_base_transform_event), (gst_base_transform_change_state):
20303 * gst/base/gstbasetransform.h:
20304 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20305 (gst_collect_pads_event):
20306 * gst/base/gstcollectpads.h:
20307 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20308 (gst_fake_src_create):
20309 * gst/elements/gstfakesrc.h:
20310 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20311 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20312 (gst_segment_set_last_stop), (gst_segment_set_seek),
20313 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20314 (gst_segment_to_running_time), (gst_segment_clip):
20315 * gst/gstsegment.h:
20316 More segment updates, replace code in plugins with segment
20319 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20321 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20322 Don't ignore sscanf results
20324 2005-11-21 Andy Wingo <wingo@pobox.com>
20326 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20329 * *.c: Ran scripts/update-macros. Oh yes.
20331 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20332 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20335 * scripts/update-macros: New script. Run it on your files to
20336 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20339 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20341 * docs/gst/Makefile.am:
20342 * docs/gst/gstreamer-docs.sgml:
20343 * docs/gst/gstreamer-sections.txt:
20344 * docs/gst/gstreamer.types:
20346 more docs fixes, add new api to the docs
20348 2005-11-21 Andy Wingo <wingo@pobox.com>
20350 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20351 state_broadcast call.
20353 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20355 2005-11-21 Julien MOUTTE <julien@moutte.net>
20357 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20358 function calls for arrays.
20360 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20362 * docs/random/ensonic/media-device-daemon.txt:
20363 wild idea, can this be done?
20364 * docs/gst/gstreamer-sections.txt:
20369 * gst/gstpluginfeature.c:
20373 doc fixes and additions
20375 2005-11-21 Andy Wingo <wingo@pobox.com>
20377 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20378 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20379 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20380 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20381 private to the basesrc implementation.
20383 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20384 behalf of event function if necessary. It should no longer be
20385 necessary to take the stream lock in pad's event functions. Fixes
20388 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20389 * docs/gst/gstreamer-sections.txt:
20390 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20391 (gst_structure_fixate_field_nearest_double),
20392 (gst_structure_fixate_field_boolean):
20393 * gst/gststructure.h:
20394 * win32/common/libgstreamer.def:
20395 * win32/gstreamer.def:
20397 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20400 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20402 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20403 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20404 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20405 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20406 (gst_fdsrc_uri_handler_init):
20407 * gst/elements/gstfdsrc.h:
20408 Port fd:// URI handler from 0.8 to fdsrc
20410 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20412 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20413 (gst_value_serialize_fourcc):
20415 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20416 consistent with our other format defines (#320324).
20418 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20420 * gst/gstvalue.c: (gst_value_is_fixed):
20421 Revert previous commit. Value lists are by definition
20422 not fixed, as they are a list of possible values.
20424 2005-11-21 Andy Wingo <wingo@pobox.com>
20426 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20427 during the stable series if we need it. Fixes #319178.
20429 * gst/gstevent.c (gst_event_new_filler): Removed.
20431 * check/gst/gstevent.c: Update comment about filler events.
20433 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20435 * gst/gstvalue.c: (gst_value_is_fixed):
20436 Should handle both value arrays and value lists.
20438 2005-11-21 Andy Wingo <wingo@pobox.com>
20440 patch by: Alessandro Dessina <alessandro nnva org>
20442 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20443 functions to access arrays. Fixes #321962.
20445 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20447 * docs/gst/gstreamer.types:
20448 gst_collectpads_get_type => gst_collect_pads_get_type.
20450 * gst/base/gstbasetransform.c:
20451 Remove unused SIGNAL_HANDOFF enum.
20453 2005-11-21 Andy Wingo <wingo@pobox.com>
20455 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20456 the event type (upstream, downstream, serialized). Renamed
20457 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20458 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20459 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20461 * gst/gstevent.c: Update for new CUSTOM event names.
20463 * check/gst/gstevent.c: Update check for new CUSTOM event names.
20466 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20469 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20471 * docs/gst/gstreamer-sections.txt:
20472 * win32/common/libgstbase.def:
20473 * win32/libgstbase.def:
20474 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20475 (gst_collect_pads_class_init), (gst_collect_pads_init),
20476 (gst_collect_pads_finalize), (gst_collect_pads_new),
20477 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20478 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20479 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20480 (gst_collect_pads_start), (gst_collect_pads_stop),
20481 (gst_collect_pads_peek), (gst_collect_pads_pop),
20482 (gst_collect_pads_available), (gst_collect_pads_read),
20483 (gst_collect_pads_flush), (gst_collect_pads_event),
20484 (gst_collect_pads_chain):
20485 * gst/base/gstcollectpads.h:
20486 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20487 unimplemented functions as unimplemented. Add padding to
20488 GstCollectData. (#320766, #320423)
20490 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20492 * gst/gstmessage.c:
20493 Improve docs for DURATION message (usage of duration parameter)
20496 2005-11-20 Wim Taymans <wim@fluendo.com>
20498 * check/Makefile.am:
20499 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20503 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20504 (gst_segment_set_seek), (gst_segment_set_newsegment),
20505 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20506 (gst_segment_clip):
20507 * gst/gstsegment.h:
20508 Added segment helper structure and methods. Not fully implemented
20510 Added segment check.
20512 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
20514 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20515 Add a deserialisation test for fractions
20516 * examples/metadata/read-metadata.c: (message_loop),
20517 (make_pipeline), (main):
20518 Fix up metadata reading sample.
20519 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20521 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20522 Don't try and fixate empty caps
20523 * gst/gst_private.h:
20524 Wrap in G_BEGIN_DECLS/G_END_DECLS
20525 * gst/gstvalue.c: (gst_value_collect_fraction),
20526 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20527 (gst_value_transform_string_fraction),
20528 (gst_value_compare_fraction):
20529 Add some extra guards to ensure that we don't end up
20530 with an invalid denominator of 0 in a gstfraction and
20531 that fractions always get reduced.
20533 2005-11-20 Wim Taymans <wim@fluendo.com>
20535 * docs/gst/gstreamer-sections.txt:
20537 * gst/gstelement.c:
20546 2005-11-20 Wim Taymans <wim@fluendo.com>
20548 * docs/design/part-TODO.txt:
20550 Make a proper enum of the flag.
20552 2005-11-19 Wim Taymans <wim@fluendo.com>
20554 * docs/design/part-TODO.txt:
20555 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20556 (gst_format_to_quark), (gst_format_register):
20558 * gst/gstquery.c: (_gst_query_initialize),
20559 (gst_query_type_get_name), (gst_query_type_to_quark),
20560 (gst_query_type_register):
20562 Add type to quark and type to string conversions.
20564 2005-11-19 Andy Wingo <wingo@pobox.com>
20566 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20569 2005-11-19 Wim Taymans <wim@fluendo.com>
20571 * docs/design/part-TODO.txt:
20572 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20573 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20574 (gst_bin_handle_message_func):
20576 Make message handling overridable.
20578 2005-11-19 Andy Wingo <wingo@pobox.com>
20580 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20583 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20585 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20586 is a GstClockTime. Fixes #321710.
20588 * gst/gstclock.h (GstClock): Remove offset property. Add
20589 internal_calibration and external_calibration. Fix padding. Pad
20590 also by GstClockTime so we don't run into problems.
20592 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20593 (gst_clock_get_rate_offset): Remove.
20594 (gst_clock_set_time_adjust): Remove. Fixes #321712.
20597 * gst/gstutils.c (g_static_rec_cond_wait)
20598 (g_static_rec_cond_timed_wait): Removed, no longer needed.
20600 * gst/gstbin.c: Remove terrible continue_state prototype.
20602 * gst/gstelement.h (gst_element_continue_state): Make public.
20604 * gst/gstelement.h:
20605 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20606 by continue_state. Fixes #319389.
20608 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20609 Really fixes #168438. However I don't see anywhere where the
20610 filter function is called... stupid GStreamer...
20612 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20613 don't have a dispose function, so it won't get called when the
20614 object is unreffed, but oh well!
20616 * gst/gstindex.c (gst_index_set_filter_full): New API function,
20617 allows a destroy function to be set so user_data can be freed.
20619 (gst_index_set_filter): Call gst_index_set_filter_full.
20621 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20623 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20624 string should produce an error, given the lack of a way to
20625 represent NULL strings. Fixes #165650.
20628 * gst/gstvalue.c (gst_value_array_append_value)
20629 (gst_value_array_prepend_value, gst_value_array_get_size)
20630 (gst_value_array_get_value): New API, copied from
20631 gst_value_list_*, only operates on arrays.
20632 (gst_value_list_append_value, gst_value_list_prepend_value)
20633 (gst_value_list_concat, gst_value_list_get_size)
20634 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20636 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20637 init_list, because it works on both.
20638 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20639 (gst_value_copy_list_or_array): Renamed from copy_list.
20640 (gst_value_free_list_or_array): Renamed from free_list.
20641 (gst_value_collect_list_or_array): Renamed from collect_list.
20642 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20643 (gst_value_list_or_array_peek_pointer): Renamed from
20645 (_gst_value_array_value_table, _gst_value_list_value_table):
20646 Update value table functions.
20647 (gst_value_compare_list_or_array): Renamed from compare_list.
20649 * gsttaglist.h: Whoops, foreach function returns void. Also fix
20652 * gst/gsttaglist.c:
20653 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20654 GstTagList*. Fixes #143472.
20656 * gst/gststructure.h: Clarify what the foreach/map functions can
20657 or can't do to their arguments.
20659 2005-11-18 Wim Taymans <wim@fluendo.com>
20661 * gst/gstclock.c: (gst_clock_set_calibration),
20662 (gst_clock_get_calibration):
20664 Calibration can be set with internal time equal to current
20667 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
20673 2005-11-18 Andy Wingo <wingo@pobox.com>
20676 * pkgconfig/gstreamer-net.pc.in:
20677 * pkgconfig/gstreamer-net-uninstalled.pc.in:
20678 * pkgconfig/Makefile.am: Add net pkgconfig files.
20680 2005-11-18 Stefan Kost <ensonic@users.sf.net>
20683 * gst/gstghostpad.c:
20689 2005-11-18 Andy Wingo <wingo@pobox.com>
20691 * gst/net/gstnetclientclock.c: Turn off debugging.
20693 * check/net/gstnetclientclock.c (test_functioning): Assert that the
20694 times connverge somewhat. Can't make a real test.
20696 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20697 integer arithmetic. Return the minimum of the domain, which can be
20698 set as "internal" for gst_clock_set_calibration.
20699 (gst_net_client_clock_observe_times): Call _set_calibration.
20700 (gst_net_client_clock_new): Call _set_calibration instead of
20703 * check/net/gstnetclientclock.c (test_functioning): Use the right
20707 * gst/gstclock.c (gst_clock_get_calibration)
20708 (gst_clock_set_calibration): New functions, obsolete the ones I
20709 added yesterday. Doh. Precision issues mean we have to extrapolate
20710 from a point in the more recent past than 1970.
20711 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20713 (gst_clock_adjust_unlocked): Use the right calibration data.
20715 2005-11-18 Edward Hervey <edward@fluendo.com>
20717 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20718 Also reset the ->current_* values in READY->PAUSED
20720 2005-11-18 Andy Wingo <wingo@pobox.com>
20722 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20723 Whoops, check the right fd. Also add some debugging.
20724 (gst_net_client_clock_observe_times): Adjust for int64 offset.
20725 (do_linear_regression): Add a crapload of debugging. Subtract off
20726 the minimum values from the input series to discard unneeded bits.
20727 Use only int arithmetic. There is still double arithmetic when
20728 calculating the intercept that needs fixing. Return boolean to
20729 indicate success; FALSE would mean the domain or range is too
20730 great. Still needs fixes.
20732 2005-11-18 Wim Taymans <wim@fluendo.com>
20734 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20735 For the current position in stream time, we need to subtract
20738 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20739 Release lock before calling the callback function of async
20742 2005-11-18 Andy Wingo <wingo@pobox.com>
20744 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20745 Port goes all the way to MAXUINT16.
20747 * gst/net/gstnettimeprovider.c: Make the port range the same as
20748 for the kernel: 0 assigns, otherwise ports are less than
20751 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20754 * check/net/gstnetclientclock.c (test_functioning): Add the start
20757 2005-11-18 Wim Taymans <wim@fluendo.com>
20759 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20760 (gst_bin_remove_func), (bin_bus_handler):
20762 Removing a clock provider from a bin, triggers a clock lost message
20763 so that a new clock will be selected.
20764 Adding a clock to a bin triggers a clock provider message.
20765 Make sure we reselect a clock when we received a clock lost message.
20766 Keep a reference to the element that provided the clock.
20768 2005-11-18 Andy Wingo <wingo@pobox.com>
20770 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20771 the clock initially so it produces values around the base time.
20772 (gst_net_client_clock_class_init): Typo fix.
20773 (gst_net_client_clock_thread): Add note on when the socket gets
20776 2005-11-17 Wim Taymans <wim@fluendo.com>
20778 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20779 Free remote and local time arrays.
20781 2005-11-17 Wim Taymans <wim@fluendo.com>
20783 * gst/net/gstnetclientclock.c: (do_linear_regression),
20784 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
20785 Fix compilation, uninitialized vars and a forgotten continue.
20787 2005-11-17 Andy Wingo <wingo@pobox.com>
20789 * check/Makefile.am (check_PROGRAMS):
20790 * check/net/gstnetclientclock.c: Add a most minimal test for the
20791 net client clock. More to come later.
20793 * gst/net/gstnet.h:
20794 * gst/net/Makefile.am: Add netclientclock.
20796 * gst/net/gstnetclientclock.h:
20797 * gst/net/gstnetclientclock.c: New files, implement an untested
20798 GstClock that takes its time from a network time provider.
20799 Implements the algorithm in network-clock.scm.
20801 * tests/network-clock.scm (*window-size*): Rename from
20803 * tests/network-clock.scm (network-time):
20804 * tests/network-clock-utils.scm (q-push): Update callers.
20806 2005-11-17 Wim Taymans <wim@fluendo.com>
20808 * gst/gstbin.c: (gst_bin_provide_clock_func),
20809 (gst_bin_sort_iterator_new):
20810 And unref the child too..
20812 2005-11-17 Wim Taymans <wim@fluendo.com>
20814 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20815 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20816 Refactor the sort iterator so it can be used while holding the
20818 Make clock selection select a clock closest to the source.
20820 2005-11-17 Michael Smith <msmith@fluendo.com>
20822 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
20823 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
20825 Anonymous structs are a gcc (and some other compilers) extension, so
20826 don't use them. Since this is only for ABI-compatibility, and our
20827 API/ABI freeze is over in a few days, this whole thing will only
20828 last a few days, so don't bother trying to think up a meaningful
20829 name for the struct.
20831 2005-11-17 Andy Wingo <wingo@pobox.com>
20833 * gst/gstclock.h (GstClock): Add rate and offset properties,
20834 preserving ABI stability. Add rate/offset accessors. Will file bug
20835 for the freeze break.
20837 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
20838 and offset, trying to keep precision and avoiding
20839 underflow/overflow.
20840 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
20841 functions. Make gst_clock_set_time_adjust obsolete.
20842 (gst_clock_set_time_adjust): Note that this function is obsolete.
20843 Will file bug soon.
20845 * gst/base/gstbasetransform.h: Make the ABI-stability hack
20846 greppable by using GST_PADDING-1+1.
20848 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
20850 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
20852 * gst/gstmessage.c: (gst_message_parse_clock_lost):
20853 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
20855 * gst/gstpadtemplate.h:
20856 * gst/gstpluginfeature.h:
20857 Don't use c++ style comments in headers (#321638).
20859 2005-11-16 Andy Wingo <wingo@pobox.com>
20861 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
20864 * check/net/gstnettimeprovider.c: Check to see that the time
20865 provider actually provides times. Works, yo!
20867 2005-11-16 Wim Taymans <wim@fluendo.com>
20869 * check/Makefile.am:
20872 * check/elements/fakesrc.c: (GST_START_TEST):
20873 Set element to NULL before disposing it.
20875 2005-11-16 Andy Wingo <wingo@pobox.com>
20877 * gst/net/Makefile.am:
20878 * gst/net/gstnet.h:
20879 * gst/net/gstnettimeprovider.c:
20880 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
20881 provider, include it from gstnet.h, and add it to the build.
20883 * gst/net/gstnettimepacket.h:
20884 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
20885 sending and receiving.
20887 2005-11-16 Wim Taymans <wim@fluendo.com>
20889 * check/Makefile.am:
20890 Enable valgrind check.
20892 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
20893 (gst_fake_src_alloc_buffer):
20896 2005-11-16 Wim Taymans <wim@fluendo.com>
20898 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
20899 Call parent finalize too.
20901 2005-11-16 Wim Taymans <wim@fluendo.com>
20903 * check/Makefile.am:
20904 Enable valgrind check that should work fine now.
20906 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20907 * gst/gstqueue.c: (gst_queue_init):
20908 Fix memleaks in pad allocation.
20910 2005-11-16 Andy Wingo <wingo@pobox.com>
20912 * gst/net/Makefile.am:
20913 * gst/net/gstnet.h: New part of core to hold network elements and
20914 objects. Put in core because it exposes API that applications want
20915 to use. The library is named libgstnet-tempname right now because
20916 of the existing libgstnet in gst-plugins-base. Solution is
20917 probably to rename the one in plugins-base; will file a bug for
20920 * gst/net/gstnettimeprovider.c:
20921 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
20922 get_time call over the network.
20925 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
20927 * check/Makefile.am:
20928 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
20929 get additions shortly.
20931 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20933 * gst/gstpad.c: (gst_pad_new_from_static_template):
20935 add gst_pad_new_from_static_template functions
20936 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
20937 (gst_check_setup_sink_pad):
20938 * gst/elements/gsttee.c: (gst_tee_init):
20941 2005-11-16 Wim Taymans <wim@fluendo.com>
20943 * gst/gstpad.c: (gst_pad_pause_task):
20944 Removed warning, it's not really an error either.
20946 2005-11-16 Wim Taymans <wim@fluendo.com>
20948 * gst/base/gstbasetransform.c:
20949 (gst_base_transform_prepare_output_buf),
20950 (gst_base_transform_event):
20951 Check if the caps are NULL, this can happen if the element
20952 is shutting down and the pad caps are set to NULL.
20954 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20956 * gst/elements/gsttee.c: (gst_tee_init):
20957 fix pad template leak in tee
20959 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20961 * gst/glib-compat.c: (g_value_dup_gst_object):
20962 * gst/glib-compat.h:
20963 * gst/gstpad.c: (gst_pad_set_property):
20964 use gst_object_ref when setting the pad template; this will
20965 trigger the pad template leaks on GLib 2.6 and the slaves
20967 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20969 * gst/glib-compat.c: (gst_flags_get_first_value):
20970 * gst/glib-compat.h:
20971 * gst/gstregistryxml.c:
20972 remove functions copied from GLib 2.6
20974 2005-11-16 Michael Smith <msmith@fluendo.com>
20977 Don't link against VALGRIND_LIBS. That was always the wrong thing to
20978 do, but only breaks with newer valgrind versions. We're not a
20979 valgrind tool, we have no link-time dependencies on libcoregrind.
20981 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20983 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20985 * gst/gstmessage.h:
20988 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
20990 * gst/base/gstbasesrc.c: (gst_base_src_init):
20991 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20992 * gst/gstqueue.c: (gst_queue_init):
20993 * gst/gstregistryxml.c: (load_feature):
20994 Revert all these unrefs, they don't even pass make check !
20996 2005-11-15 Johan Dahlin <johan@gnome.org>
20998 * gst/base/gstbasesrc.c: (gst_base_src_init):
20999 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21000 * gst/gstqueue.c: (gst_queue_init):
21001 Free pad templates, fixes a couple of leaks.
21003 2005-11-15 Daniel Fischer <dan at f3c dot com>
21005 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21007 * gst/gstpad.c: (gst_pad_get_property):
21008 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21009 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21012 2005-11-15 Wim Taymans <wim@fluendo.com>
21017 2005-11-15 Andy Wingo <wingo@pobox.com>
21019 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21021 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21022 using GST_CLOCK_TIME_NONE to disable base time management.
21023 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21024 time if it was NONE before.
21025 (gst_pipeline_change_state): Only munge the base time if
21026 stream_time != GST_CLOCK_TIME_NONE.
21028 * check/gst/gstpipeline.c (test_base_time): Punt around the
21029 problem of the probe not being called, because that's not the
21030 issue I'm looking at. Add a check that setting stream_time to NONE
21031 disables base time management.
21033 2005-11-15 Wim Taymans <wim@fluendo.com>
21035 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21036 segment_stop == -1 at startup.
21038 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21039 (gst_base_transform_change_state):
21040 Init segment values at start.
21042 2005-11-15 Wim Taymans <wim@fluendo.com>
21044 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21045 0 segment values are 0 in any format.
21047 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21048 * gst/base/gstbasetransform.h:
21049 Parse newsegment correctly in basetransform
21051 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21052 Sync to clock using updated segment values.
21054 2005-11-15 Andy Wingo <wingo@pobox.com>
21056 * check/gst/gstpipeline.c (test_base_time): Add check that the
21057 base time and stream time are reset correctly.
21059 2005-11-15 Wim Taymans <wim@fluendo.com>
21061 * docs/design/part-TODO.txt:
21062 Some more TODO items.
21064 2005-11-15 Andy Wingo <wingo@pobox.com>
21066 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21067 error if the user selected "no clock" as the clocking method.
21069 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21070 timestamps with live capture.
21072 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21073 is 0 but we are a live source, timestamp the buffers using the
21076 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21078 * docs/gst/gstreamer-sections.txt:
21080 * gst/gstghostpad.c:
21085 2005-11-14 Wim Taymans <wim@fluendo.com>
21088 add suppressions from Wim's Debian machine
21090 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21093 add suppressions from Andy's AMD64 Ubuntu machine
21095 2005-11-14 Andy Wingo <wingo@pobox.com>
21097 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21098 STATE_LOCK not necessary. Fixes #311489.
21100 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21103 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21104 this function is not implemented.
21106 2005-11-14 Julien MOUTTE <julien@moutte.net>
21108 * gst/base/gstbasetransform.c:
21109 (gst_base_transform_prepare_output_buf):
21110 Ref the source pad caps while we need them.
21113 2005-11-11 Wim Taymans <wim@fluendo.com>
21115 * docs/gst/gstreamer-sections.txt:
21116 Added some docs for GstCollectData.
21118 * gst/base/gstadapter.c:
21119 Some small code example fix.
21121 * gst/base/gstcollectpads.c:
21122 * gst/base/gstcollectpads.h:
21123 Document some more.
21125 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21127 * configure.ac: back to HEAD
21129 === release 0.9.5 ===
21131 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21134 releasing 0.9.5, "Bike Lunch Day"
21136 2005-11-11 Wim Taymans <wim@fluendo.com>
21138 * gst/gstbuffer.c: (_gst_buffer_copy):
21141 * gst/gstcaps.c: (gst_caps_is_equal):
21143 Make _is_equal fast in the trivial cases.
21145 * gst/gstminiobject.c:
21146 * gst/gstminiobject.h:
21147 More docs. Spifify .h file.
21152 2005-11-11 Wim Taymans <wim@fluendo.com>
21154 * gst/base/gstbasetransform.c:
21155 (gst_base_transform_prepare_output_buf),
21156 (gst_base_transform_handle_buffer):
21158 If we're processing a buffer and need to allocate an output
21159 buffer, we cannot accept a format change. If we did get a
21160 format change, we have to alloc a buffer ourselves of the
21163 2005-11-11 Wim Taymans <wim@fluendo.com>
21165 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21166 While checking the flag for reentrancy in the gstcaps function
21167 is nice to detect recursive invocations, it also makes it
21168 impossible to call getcaps from multiple threads, which must be
21169 possible. So, checking for recursive calls has to go.
21171 2005-11-11 Michael Smith <msmith@fluendo.com>
21173 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21174 Don't sync on buffers that fall partially outside our current
21175 segment. Prevents an assertion failure/abort playing some files.
21177 2005-11-10 Andy Wingo <wingo@pobox.com>
21179 * check/gst/gstbin.c (test_message_state_changed_children): Style
21182 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21183 gst_bus_poll with the signal watch. Ensures that poll and a signal
21184 watch see the same messages.
21186 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21187 a poll and a watch at the same time get the same messages.
21189 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21191 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21192 * gst/gstcaps.c: (gst_caps_intersect):
21193 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21194 and it's not needed.
21196 2005-11-10 Wim Taymans <wim@fluendo.com>
21198 * docs/design/part-TODO.txt:
21201 2005-11-10 Wim Taymans <wim@fluendo.com>
21203 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21204 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21205 (gst_base_src_do_sync), (gst_base_src_get_range):
21206 Implement clock sync in base class.
21208 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21210 patch by: Tim-Philipp Müller <tim at centricular dot net>
21212 * gst/gststructure.c: (gst_structure_parse_field),
21213 (gst_structure_from_string):
21214 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21215 so that gst_parse_launch() can deal with spaces in filtered link
21216 caps (fixes #164479)
21217 * check/gst/capslist.h:
21218 * check/gst/gststructure.c: (GST_START_TEST):
21219 add unit tests for this change
21221 2005-11-10 Wim Taymans <wim@fluendo.com>
21223 * docs/gst/gstreamer-sections.txt:
21224 * gst/gstelement.c:
21225 * gst/gstelement.h:
21226 Fix docs, move some STATE macros to private.
21228 2005-11-10 Wim Taymans <wim@fluendo.com>
21230 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21231 Added check for bug #317341
21235 Some more spiffifying.
21237 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21238 Call peer linkfunction if we are a source pad. Totally fixes
21242 Update docs, source pads should call the peer linkfunction
21243 so they can atomically perform the pad link.
21245 2005-11-09 Wim Taymans <wim@fluendo.com>
21249 Uber-spiffy-spiffify some more.
21251 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21253 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21254 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21255 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21256 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21257 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21258 * gst/gstpad.c: (gst_pad_init):
21259 Use GST_DEBUG_FUNCPTR() more extensively.
21261 2005-11-09 Wim Taymans <wim@fluendo.com>
21263 * gst/gstobject.c: (gst_object_class_init):
21265 Documentation fixes.
21267 2005-11-09 Edward Hervey <edward@fluendo.com>
21269 * gst/gsttypefindfactory.c:
21272 2005-11-09 Edward Hervey <edward@fluendo.com>
21274 * gst/base/gsttypefindhelper.c:
21275 * gst/gsttypefind.c:
21276 * gst/gsttypefind.h:
21279 2005-11-09 Wim Taymans <wim@fluendo.com>
21281 * gst/gstiterator.c:
21288 2005-11-09 Wim Taymans <wim@fluendo.com>
21294 2005-11-09 Wim Taymans <wim@fluendo.com>
21296 * docs/gst/gstreamer-sections.txt:
21297 Moved the message async delivery private lock and cond
21298 to the private section.
21300 * gst/gstmessage.c:
21301 * gst/gstmessage.h:
21304 2005-11-09 Edward Hervey <edward@fluendo.com>
21306 * docs/gst/gstreamer-sections.txt:
21309 Document GstURIHandler
21311 2005-11-09 Wim Taymans <wim@fluendo.com>
21313 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21314 (gst_iterator_find_custom):
21315 * gst/gstiterator.h:
21318 2005-11-09 Wim Taymans <wim@fluendo.com>
21321 Document another field.
21323 * gst/gststructure.c:
21324 * gst/gststructure.h:
21327 2005-11-09 Wim Taymans <wim@fluendo.com>
21330 Documented structs.
21332 2005-11-09 Wim Taymans <wim@fluendo.com>
21334 * docs/gst/gstreamer-sections.txt:
21335 Added some new macros.
21342 2005-11-09 Wim Taymans <wim@fluendo.com>
21344 * docs/design/part-TODO.txt:
21345 Some more items for the TODO
21351 2005-11-09 Andy Wingo <wingo@pobox.com>
21353 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21354 to work on something else now tho...
21356 * gst/base/gstadapter.c: More adapter docs.
21358 * gst/elements/gstfilesink.c (gst_file_sink_start)
21359 (gst_file_sink_stop): New functions, replace the state change
21361 (gst_file_sink_class_init): Hook up the start and stop functions.
21362 (gst_file_sink_base_init): Don't set the state change handler any
21363 more. It was a bit ugly too, being set from here...
21364 (gst_file_sink_get_property, gst_file_sink_set_property):
21366 (gst_file_sink_set_location): More robust check that doesn't call
21367 GST_STATE. Ugggggg.
21369 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21371 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21372 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21374 2005-11-08 Wim Taymans <wim@fluendo.com>
21376 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21377 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21378 (gst_base_sink_chain), (gst_base_sink_change_state):
21379 * gst/base/gstbasesink.h:
21380 * gst/base/gstbasesrc.h:
21381 * gst/gstelement.h:
21383 Avoid excessive typechecking in macros.
21385 * gst/gstminiobject.c: (gst_mini_object_get_type),
21386 (gst_mini_object_init), (gst_mini_object_new),
21387 (gst_mini_object_free):
21388 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21389 (gst_object_finalize):
21390 Remove cruft code, optimize alloc_trace.
21392 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21394 * docs/faq/gst-uninstalled:
21395 fix up PS1 for systems that try to reset it
21397 2005-11-07 Wim Taymans <wim@fluendo.com>
21399 * gst/base/gstbasesrc.c: (gst_base_src_init),
21400 (gst_base_src_get_range):
21401 Set the segment_end to -1 initially. Fixed typefind.
21403 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21405 * gst/base/gstadapter.c:
21406 Debug category should be 'adapter', not 'GstAdapter'.
21408 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21409 (gst_collectpads_class_init), (gst_collectpads_init),
21410 (gst_collectpads_peek), (gst_collectpads_pop),
21411 (gst_collectpads_event), (gst_collectpads_chain):
21412 Add debug category and some debugging output. Use boilerplate
21413 macros. Remove some extraneous words from docs.
21415 2005-11-05 Andy Wingo <wingo@pobox.com>
21417 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21420 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21422 * docs/gst/gstreamer-sections.txt:
21425 * gst/gstminiobject.h:
21430 2005-11-04 Wim Taymans <wim@fluendo.com>
21432 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21433 Small update to stop at the configured segment_end
21436 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21438 * gst/gstregistry.c:
21439 * gst/gstregistry.h:
21442 2005-11-04 Edward Hervey <edward@fluendo.com>
21444 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21445 Check if we are doing a segment seek and have arrived at the
21446 end of that segment.
21448 2005-11-04 Wim Taymans <wim@fluendo.com>
21450 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21451 Don't leak a mutex unlock in case of an error.
21456 2005-11-04 Wim Taymans <wim@fluendo.com>
21458 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21460 Get the context to wake up only once.
21462 2005-11-03 Wim Taymans <wim@fluendo.com>
21464 * check/states/sinks.c: (GST_START_TEST):
21465 Uncomment fixed check.
21467 * docs/design/part-TODO.txt:
21470 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21471 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21472 (gst_base_sink_get_position):
21473 If we are going to PLAYING, post the right pending state
21474 when we post the intermediate paused message.
21476 * gst/gstelement.c: (gst_element_continue_state),
21477 (gst_element_set_state_func), (gst_element_change_state):
21478 Don't post state changes that were between the same state
21479 and were not ASYNC.
21481 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21483 * docs/gst/gstreamer-sections.txt:
21486 * gst/gstminiobject.h:
21489 more docs and doc style fixes
21491 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21493 * docs/gst/gstreamer-sections.txt:
21494 * gst/gstelement.c:
21495 * gst/gstminiobject.c:
21498 2005-11-03 Andy Wingo <wingo@pobox.com>
21500 * check/states/sinks.c (test_livesrc_sink): Add checks that the
21501 state-changed messages actually have the right order and the right
21504 2005-11-03 Wim Taymans <wim@fluendo.com>
21506 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21507 Added some more checks. Specifically the case where NO_PREROLL
21508 elements are in the pipeline.
21510 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21511 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21512 (gst_base_sink_get_position):
21513 Post READY->PAUSED state change messages too.
21514 Fix bug where VOID was posted as pending state...
21516 * gst/gstbin.c: (gst_bin_recalc_state):
21517 use _element_continue_state() to continue the state change.
21519 * gst/gstelement.c: (gst_element_continue_state),
21520 (gst_element_commit_state), (gst_element_set_state_func),
21521 (gst_element_change_state), (gst_element_change_state_func):
21522 Lots of state change cleanups, assign the STATE_RETURN in
21523 a new continue_state() function that also propagates the
21524 last return value from a state change to the app.
21525 Update some debug statements with proper category.
21527 2005-11-03 Wim Taymans <wim@fluendo.com>
21529 * docs/design/part-events.txt:
21530 * docs/design/part-gstpipeline.txt:
21531 * docs/design/part-messages.txt:
21532 * docs/design/part-overview.txt:
21533 * docs/design/part-seeking.txt:
21534 * docs/design/part-states.txt:
21535 * docs/design/part-trickmodes.txt:
21536 * docs/manual/advanced-position.xml:
21537 Small docs updates.
21540 People think !! is ugly, this looks better.
21542 * gst/gstpad.c: (gst_pad_set_blocked_async):
21543 Remove !! since it's fixed elsewhere now.
21545 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21547 * gst/gstminiobject.h:
21549 Add !! to _FLAG_IS_SET macros to make the result boolean.
21551 2005-11-03 Edward Hervey <edward@fluendo.com>
21553 * gst/gstpad.c: (gst_pad_set_blocked_async):
21554 comparing a flag and a gboolean rarely returns coherent results...
21555 Added two characters (!!) to make that work correctly.
21557 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21559 * gst/gstbus.c: (gst_bus_class_init):
21562 * gst/gstqueue.c: (gst_queue_loop):
21563 Don't assume a miniobject that isn't a buffer is an
21564 event (it could be that there is a refcounting
21565 problem somewhere and the pointer is stale and
21566 refers to an already destroyed miniobject).
21568 2005-11-03 Julien MOUTTE <julien@moutte.net>
21570 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21572 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21574 * docs/manual/advanced-position.xml:
21575 Update seek example and explanations to current 0.9 API.
21577 * gst/elements/gsttypefindelement.c:
21578 (gst_type_find_element_activate):
21579 Remove FIXME comment now that the found caps
21582 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
21584 * gst/gstregistryxml.c: (load_feature):
21585 Add another GST_STR_NULL instance
21587 2005-11-02 Edward Hervey <edward@fluendo.com>
21589 * gst/gstpad.c: (handle_pad_block):
21590 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21592 2005-11-02 Wim Taymans <wim@fluendo.com>
21597 * gst/gstelement.c: (gst_element_commit_state):
21598 Remove unused value.
21600 * gst/gstiterator.c:
21601 Mention that the returned element is reffed in the docs.
21603 2005-11-02 Wim Taymans <wim@fluendo.com>
21605 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21606 (gst_pad_push), (gst_pad_push_event):
21607 Unlock blocked pads when they are flushed.
21609 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21612 * docs/gst/gstreamer-sections.txt:
21615 * gst/gstregistry.c: (gst_registry_scan_path_level):
21616 fix for a nasty little missed situation where an installed plug-in
21617 which was in the cache did not get overridden by an uninstalled one
21618 which was earlier in the plugin path because the newly created plugin
21619 for the uninstalled one (not in the registry) didn't get its
21620 ->registered set to TRUE
21622 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21624 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21625 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21626 (gst_collectpads_is_active), (gst_collectpads_collect),
21627 (gst_collectpads_collect_range), (gst_collectpads_start),
21628 (gst_collectpads_stop), (gst_collectpads_peek),
21629 (gst_collectpads_pop), (gst_collectpads_available),
21630 (gst_collectpads_read), (gst_collectpads_flush):
21631 Guard public API with assertions.
21634 Fix docs for gst_pad_set_link_function().
21636 2005-11-02 Johan Dahlin <johan@gnome.org>
21638 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
21639 Unref found_caps after we used it.
21641 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21643 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21644 Don't try to ref NULL.
21646 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21648 * win32/common/config.h.in:
21649 provide a GST_FUNCTION that just gives a string for now
21651 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21653 * win32/common/gstenumtypes.c: (register_gst_object_flags),
21654 (gst_object_flags_get_type), (register_gst_bin_flags),
21655 (gst_bin_flags_get_type), (register_gst_buffer_flag),
21656 (gst_buffer_flag_get_type), (register_gst_bus_flags),
21657 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21658 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21659 (gst_clock_return_get_type), (register_gst_clock_entry_type),
21660 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21661 (gst_clock_flags_get_type), (register_gst_state),
21662 (gst_state_get_type), (register_gst_state_change_return),
21663 (gst_state_change_return_get_type), (register_gst_state_change),
21664 (gst_state_change_get_type), (register_gst_element_flags),
21665 (gst_element_flags_get_type), (register_gst_core_error),
21666 (gst_core_error_get_type), (register_gst_library_error),
21667 (gst_library_error_get_type), (register_gst_resource_error),
21668 (gst_resource_error_get_type), (register_gst_stream_error),
21669 (gst_stream_error_get_type), (register_gst_event_type),
21670 (gst_event_type_get_type), (register_gst_seek_type),
21671 (gst_seek_type_get_type), (register_gst_seek_flags),
21672 (gst_seek_flags_get_type), (register_gst_format),
21673 (gst_format_get_type), (register_gst_index_certainty),
21674 (gst_index_certainty_get_type), (register_gst_index_entry_type),
21675 (gst_index_entry_type_get_type),
21676 (register_gst_index_lookup_method),
21677 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21678 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21679 (gst_index_resolver_method_get_type), (register_gst_index_flags),
21680 (gst_index_flags_get_type), (register_gst_debug_level),
21681 (gst_debug_level_get_type), (register_gst_debug_color_flags),
21682 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21683 (gst_iterator_result_get_type), (register_gst_iterator_item),
21684 (gst_iterator_item_get_type), (register_gst_message_type),
21685 (gst_message_type_get_type), (register_gst_mini_object_flags),
21686 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21687 (gst_pad_link_return_get_type), (register_gst_flow_return),
21688 (gst_flow_return_get_type), (register_gst_activate_mode),
21689 (gst_activate_mode_get_type), (register_gst_pad_direction),
21690 (gst_pad_direction_get_type), (register_gst_pad_flags),
21691 (gst_pad_flags_get_type), (register_gst_pad_presence),
21692 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21693 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21694 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21695 (gst_plugin_error_get_type), (register_gst_plugin_flags),
21696 (gst_plugin_flags_get_type), (register_gst_rank),
21697 (gst_rank_get_type), (register_gst_query_type),
21698 (gst_query_type_get_type), (register_gst_tag_merge_mode),
21699 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21700 (gst_tag_flag_get_type), (register_gst_task_state),
21701 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21702 (gst_alloc_trace_flags_get_type),
21703 (register_gst_type_find_probability),
21704 (gst_type_find_probability_get_type), (register_gst_uri_type),
21705 (gst_uri_type_get_type), (register_gst_parse_error),
21706 (gst_parse_error_get_type):
21707 * win32/common/gstversion.h:
21708 update win32 copies
21710 2005-11-01 Luca Ognibene <luogni@tin.it>
21713 fix docs. popt is dead, long live GOption.
21715 2005-10-31 Wim Taymans <wim@fluendo.com>
21720 2005-10-31 Andy Wingo <wingo@pobox.com>
21724 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21726 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21727 need to serialize property notifications on GLib 2.8. GLib 2.6 has
21728 the possibility of deadlocks here if code calling notify() or
21729 set() has a lock that can be taken in another notify handler (ABBA
21730 with class lock and e.g. python GIL state lock).
21732 2005-10-28 Julien MOUTTE <julien@moutte.net>
21734 * gst/gstbus.c: Doc updates.
21736 2005-10-28 Wim Taymans <wim@fluendo.com>
21738 * docs/design/part-TODO.txt:
21739 * gst/gstiterator.c:
21740 * gst/gstsystemclock.c:
21741 * gst/gstsystemclock.h:
21744 2005-10-28 Edward Hervey <edward@fluendo.com>
21746 * docs/gst/gstreamer-docs.sgml:
21747 * docs/gst/gstreamer-sections.txt:
21748 the GstURIType documentation page is private, it only defines GstURIType
21749 which should be defined in the GstURIHandler page
21751 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
21753 * gst/gstbin.c: (gst_bin_class_init):
21756 Documentation updates.
21758 2005-10-28 Wim Taymans <wim@fluendo.com>
21760 * docs/gst/gstreamer-sections.txt:
21763 Documented the clocks.
21765 2005-10-28 Stefan Kost <ensonic@users.sf.net>
21767 * docs/gst/gstreamer-sections.txt:
21768 move some macros to private sections
21769 * gst/gstminiobject.c:
21770 * gst/gstminiobject.h:
21771 add descriptions provided by ds and some more
21773 mark macro as to be removed
21775 2005-10-28 Wim Taymans <wim@fluendo.com>
21777 * docs/design/part-TODO.txt:
21778 Add an item to TODO.
21780 * gst/gstiterator.c: (gst_iterator_fold),
21781 (gst_iterator_find_custom):
21782 * gst/gstiterator.h:
21785 2005-10-28 Wim Taymans <wim@fluendo.com>
21787 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21788 (gst_base_transform_init):
21791 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
21792 An EOS event marks the queue as completely filled.
21794 2005-10-27 Wim Taymans <wim@fluendo.com>
21796 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21797 (gst_base_sink_do_sync), (gst_base_sink_get_position):
21798 Some more debugging.
21800 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21801 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21802 (gst_base_transform_event), (gst_base_transform_getrange),
21803 (gst_base_transform_chain):
21804 * gst/base/gstbasetransform.h:
21806 Protect transform and concurrent buffer alloc with a new lock.
21807 Try not to break ABI/API.
21809 2005-10-27 Wim Taymans <wim@fluendo.com>
21811 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21812 (gst_base_src_init), (gst_base_src_query),
21813 (gst_base_src_default_newsegment),
21814 (gst_base_src_configure_segment), (gst_base_src_do_seek),
21815 (gst_base_src_send_event), (gst_base_src_event_handler),
21816 (gst_base_src_pad_get_range), (gst_base_src_loop),
21817 (gst_base_src_unlock), (gst_base_src_default_negotiate),
21818 (gst_base_src_start), (gst_base_src_deactivate),
21819 (gst_base_src_activate_push), (gst_base_src_change_state):
21820 Move some stuff around and cleanup things.
21822 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
21824 * gst/base/gstbasesrc.c: (gst_base_src_query):
21825 Add missing break statements.
21827 2005-10-27 Wim Taymans <wim@fluendo.com>
21829 * check/gst/gstbin.c: (GST_START_TEST):
21830 An extra refcount is taken in basesrc.
21832 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
21833 (gst_base_src_get_range), (gst_base_src_pad_get_range),
21834 (gst_base_src_loop):
21835 Small cleanups, check for flushing after being unlocked from the
21836 LIVE_LOCK. take refcounts correctly (not yet everywhere).
21837 Don't send out EOS when going to READY.
21839 2005-10-27 Wim Taymans <wim@fluendo.com>
21841 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21842 (gst_base_sink_get_position):
21845 * gst/gstbin.c: (message_check), (bin_replace_message),
21846 (bin_remove_messages), (is_eos), (gst_bin_add_func),
21847 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21848 (bin_query_duration_init), (bin_query_duration_fold),
21849 (bin_query_duration_done), (bin_query_generic_fold),
21851 * tools/gst-launch.c: (main):
21854 2005-10-26 Stefan Kost <ensonic@users.sf.net>
21856 * examples/controller/audio-example.c: (main):
21857 * examples/queue/queue.c: (event_loop):
21858 * gst/base/gstbasetransform.h:
21859 * gst/gstelement.c: (gst_element_send_event):
21861 * gst/gstpad.c: (gst_pad_send_event):
21864 changing log priority in error situations
21866 2005-10-25 Wim Taymans <wim@fluendo.com>
21868 * gst/gstbin.c: (message_check), (bin_replace_message),
21869 (bin_remove_messages), (is_eos), (gst_bin_add_func),
21870 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21871 (bin_query_duration_init), (bin_query_duration_fold),
21872 (bin_query_duration_done), (bin_query_generic_fold),
21874 Some doc and debug updates.
21875 Cache previously requested query DURATION for speed. invalidate
21876 cached duration if element posts a DURATION message.
21878 2005-10-25 Wim Taymans <wim@fluendo.com>
21880 * docs/design/part-TODO.txt:
21883 * gst/gstbin.c: (message_check), (bin_replace_message),
21884 (bin_remove_messages), (is_eos), (gst_bin_add_func),
21885 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21886 (bin_query_duration_init), (bin_query_duration_fold),
21887 (bin_query_duration_done), (bin_query_generic_fold),
21889 Handle SEGMENT_START/DONE messages correctly.
21890 More evolved query algorithm that handles duration queries
21893 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
21894 (gst_element_get_state_func), (gst_element_abort_state),
21895 (gst_element_commit_state), (gst_element_lost_state):
21896 Some more debugging.
21898 * gst/gstmessage.h:
21901 2005-10-25 Wim Taymans <wim@fluendo.com>
21903 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21904 Don't use invalid stream_time.
21906 * gst/gstevent.c: (gst_event_new_newsegment):
21907 stream_time in newsegment cannot be undefined.
21909 2005-10-24 Wim Taymans <wim@fluendo.com>
21914 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21916 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
21918 2005-10-24 Stefan Kost <ensonic@users.sf.net>
21920 * docs/libs/tmpl/gstdparam.sgml:
21921 * docs/libs/tmpl/gstdplinint.sgml:
21922 * docs/libs/tmpl/gstdpman.sgml:
21923 * docs/libs/tmpl/gstdpsmooth.sgml:
21924 * docs/libs/tmpl/gstunitconvert.sgml:
21927 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
21932 === release 0.9.4 ===
21934 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
21937 releasing 0.9.4, "Tyrannosaurus Rex"
21939 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
21941 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21942 (gst_file_sink_get_current_offset):
21943 Use fseeko() and ftello() if available. When falling back on
21944 lseek() to get the current offset, fflush() first to make sure
21945 everything is up-to-date and we get the right offset.
21947 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
21949 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21950 * gst/base/gstbasesrc.c: (gst_base_src_loop):
21951 * gst/gsterror.c: (_gst_stream_errors_init):
21953 * gst/gstqueue.c: (gst_queue_loop):
21955 remove prematurely added error category and clean up the instances
21957 2005-10-21 Wim Taymans <wim@fluendo.com>
21959 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21960 (gst_base_sink_get_position), (gst_base_sink_query),
21961 (gst_base_sink_change_state):
21962 Simply set the right flag when going to playing, that's all
21963 we need to do instead of calling a function inside the object
21964 lock (that could take the lock as well and deadlock)
21966 2005-10-21 Wim Taymans <wim@fluendo.com>
21968 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
21969 (gst_base_src_loop):
21970 Don't warn, the peer element knows what to do best when
21971 the seek failed, it might try something else.
21973 2005-10-21 Wim Taymans <wim@fluendo.com>
21975 * gst/base/gstbasesrc.c: (gst_base_src_init),
21976 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21979 2005-10-21 Wim Taymans <wim@fluendo.com>
21981 * docs/design/part-segments.txt:
21984 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
21985 Correctly set caps, even on the subbufer.
21987 2005-10-21 Wim Taymans <wim@fluendo.com>
21989 * docs/gst/gstreamer-docs.sgml:
21990 * docs/gst/gstreamer-sections.txt:
21991 * gst/gstelement.h:
21994 * gst/gstmessage.h:
21997 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22001 And 2% more doc coverage.
22003 2005-10-21 Andy Wingo <wingo@pobox.com>
22005 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22006 position reporting.
22008 2005-10-20 Wim Taymans <wim@fluendo.com>
22010 * gst/gsterror.c: (gst_error_get_message):
22013 * gst/gststructure.c:
22018 2005-10-20 Wim Taymans <wim@fluendo.com>
22023 Another 1% more coverage.
22025 2005-10-20 Wim Taymans <wim@fluendo.com>
22027 * docs/gst/gstreamer-sections.txt:
22028 * gst/gstelement.c: (gst_element_get_state_func),
22029 (gst_element_abort_state), (gst_element_commit_state),
22030 (gst_element_lost_state):
22032 * gst/gstquery.c: (gst_query_set_position),
22033 (gst_query_parse_position), (gst_query_set_duration),
22034 (gst_query_parse_duration), (gst_query_new_convert):
22036 Yay! 1% more docs coverage.
22038 2005-10-20 Wim Taymans <wim@fluendo.com>
22041 * gst/gstquery.c: (gst_query_set_position),
22042 (gst_query_parse_position), (gst_query_set_duration),
22043 (gst_query_parse_duration), (gst_query_new_convert):
22045 * gst/gstutils.c: (gst_element_query_convert):
22047 Docs and consistency fixes.
22049 2005-10-20 Wim Taymans <wim@fluendo.com>
22055 2005-10-20 Wim Taymans <wim@fluendo.com>
22057 * gst/gstbin.c: (message_check), (bin_replace_message),
22058 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22059 (update_degree), (gst_bin_sort_iterator_next),
22060 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22061 Reworked the message handling a bit, cache the messages instead of
22062 only the senders. alows us to do more in the future.
22064 2005-10-20 Wim Taymans <wim@fluendo.com>
22066 * docs/design/part-TODO.txt:
22069 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22070 (gst_base_sink_query):
22071 Don't use clock time to report position when in EOS.
22073 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22075 * tools/gst-inspect.c: (print_interfaces),
22076 (print_element_properties_info), (print_element_info):
22077 Fix interface output with gst-inspect -a; don't print
22078 newlines after double/float properties.
22080 2005-10-20 Wim Taymans <wim@fluendo.com>
22082 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22083 (gst_base_sink_query):
22084 Speed up current position calculation.
22086 * gst/base/gstbasesrc.c: (gst_base_src_query),
22087 (gst_base_src_default_newsegment):
22088 Correctly set stream position in newsegment.
22090 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22091 (update_degree), (gst_bin_sort_iterator_next),
22092 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22093 * gst/gstmessage.c: (gst_message_new_custom):
22094 Clean up debugging info
22096 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22097 (gst_queue_loop), (gst_queue_handle_src_query):
22100 2005-10-19 Wim Taymans <wim@fluendo.com>
22102 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22103 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22104 Fix query handling again.
22106 2005-10-19 Wim Taymans <wim@fluendo.com>
22108 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22109 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22110 * gst/base/gstbasesrc.c: (gst_base_src_query):
22111 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22112 * gst/elements/gsttypefindelement.c:
22113 (gst_type_find_handle_src_query), (find_element_get_length),
22114 (gst_type_find_element_activate):
22117 * gst/gstquery.c: (gst_query_new_position),
22118 (gst_query_set_position), (gst_query_parse_position),
22119 (gst_query_new_duration), (gst_query_set_duration),
22120 (gst_query_parse_duration), (gst_query_set_segment),
22121 (gst_query_parse_segment):
22123 Bundling query position/duration is not a good idea since duration
22124 does not change much and we don't want to recalculate it for every
22125 position query, so they are separated again..
22126 Base value in segment query is not needed.
22128 * gst/gstqueue.c: (gst_queue_handle_src_query):
22129 * gst/gstutils.c: (gst_element_query_position),
22130 (gst_element_query_duration), (gst_pad_query_position),
22131 (gst_pad_query_duration):
22133 Updates for query API change.
22134 Added some docs here and there.
22136 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22138 * check/gst/gstbin.c: (GST_START_TEST):
22139 * check/gst/gstghostpad.c: (GST_START_TEST):
22140 * check/pipelines/cleanup.c: (GST_START_TEST):
22141 wait on thread to die so we can check refcount correctly
22143 2005-10-18 Wim Taymans <wim@fluendo.com>
22145 * check/pipelines/stress.c: (GST_START_TEST):
22146 Make check a little more time consuming.
22148 2005-10-18 Wim Taymans <wim@fluendo.com>
22150 * check/Makefile.am:
22151 * check/pipelines/stress.c: (GST_START_TEST),
22152 (simple_launch_lines_suite), (main):
22153 Small state change torture test.
22155 * docs/design/part-states.txt:
22156 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22157 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22158 (gst_base_sink_change_state):
22159 Never take state lock from streaming thread, clean up ugly
22160 hacks. Unfortunatly core does not yet support nice ways to
22161 async commit state.
22163 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22165 Start state recalc if a STATE_DIRTY message is posted, but only
22166 on the toplevel bin.
22168 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22169 (gst_element_get_state_func), (gst_element_abort_state),
22170 (gst_element_commit_state), (gst_element_lost_state),
22171 (gst_element_set_state_func), (gst_element_change_state):
22172 * gst/gstelement.h:
22173 State variables are now protected with the LOCK, the state
22174 lock is only used to serialize _set_state().
22176 2005-10-18 Wim Taymans <wim@fluendo.com>
22178 * check/gst/gstbin.c: (GST_START_TEST):
22179 * check/gst/gstmessage.c: (GST_START_TEST):
22180 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22181 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22183 * gst/gstelement.c: (gst_element_abort_state),
22184 (gst_element_commit_state), (gst_element_lost_state):
22185 * gst/gstmessage.c: (gst_message_new_state_changed),
22186 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22187 (gst_message_new_segment_done), (gst_message_new_duration),
22188 (gst_message_parse_state_changed),
22189 (gst_message_parse_segment_start),
22190 (gst_message_parse_segment_done), (gst_message_parse_duration):
22191 * gst/gstmessage.h:
22192 * tools/gst-launch.c: (event_loop):
22193 Seriously, this is better than a previous commit as we only need
22194 to notify the fact that an element changed state in a streaming
22195 thread, marking the state of the parents dirty, hence the
22196 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22199 2005-10-18 Wim Taymans <wim@fluendo.com>
22201 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22202 (gst_bin_recalc_func):
22203 * gst/gstelement.c: (gst_element_set_clock),
22204 (gst_element_abort_state), (gst_element_lost_state):
22205 Cleanups, prepare for state change fixes.
22207 2005-10-18 Wim Taymans <wim@fluendo.com>
22210 * gst/gstelement.c: (gst_element_class_init),
22211 (gst_element_set_state), (gst_element_set_state_func):
22212 * gst/gstelement.h:
22213 Pending ABI changes.
22214 GThreadPool in GstBinClass to monitor async state changes.
22215 state_cookie in GstElement to detect concurrent gst/set state.
22216 set_state is now virtual too in case a very complicated element
22217 has to be constructed.
22219 2005-10-18 Wim Taymans <wim@fluendo.com>
22221 * check/gst/gstbin.c: (GST_START_TEST):
22222 * check/gst/gstmessage.c: (GST_START_TEST):
22223 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22224 * gst/gstbin.c: (bin_bus_handler):
22225 * gst/gstelement.c: (gst_element_commit_state),
22226 (gst_element_lost_state):
22227 * gst/gstmessage.c: (gst_message_new_state_changed),
22228 (gst_message_new_segment_start), (gst_message_new_segment_done),
22229 (gst_message_new_duration), (gst_message_parse_state_changed),
22230 (gst_message_parse_segment_start),
22231 (gst_message_parse_segment_done), (gst_message_parse_duration):
22232 * gst/gstmessage.h:
22233 * tools/gst-launch.c: (event_loop):
22234 Make messages future proof.
22235 state-change gets a flag if it was a message comming from the
22237 segment-start/stop can also be specified in other formats.
22238 A message to notify an app that a pipeline changed playback
22240 Also fix a GstMessage leak in -launch
22242 2005-10-18 Andy Wingo <wingo@pobox.com>
22244 * gst/gstelement.c (gst_element_dispose): More helpful message.
22246 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22248 reviewed by: <delete if not using a buddy>
22250 * common/gtk-doc.mak:
22252 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22254 * gst/gstregistry.c: (gst_registry_scan_path_level):
22255 unref a plug-in we get that was already initialized
22257 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22259 * docs/gst/gstreamer-sections.txt:
22260 * docs/libs/gstreamer-libs-sections.txt:
22261 * gst/gstelement.h:
22262 add new api entries
22263 hide internal macro
22265 2005-10-17 Andy Wingo <wingo@pobox.com>
22267 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22270 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22272 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22274 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22275 (gst_element_get_state_func): Better debug message.
22276 (gst_element_commit_state): s/INFO/DEBUG/.
22277 (gst_element_lost_state, gst_element_change_state):
22279 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22280 (gst_message_new_custom): s/INFO/LOG/.
22282 2005-10-17 Michael Smith <msmith@fluendo.com>
22284 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22285 Check if end time is valid using end time, not start time.
22287 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22289 * check/gst-libs/controller.c: (GST_START_TEST),
22290 (gst_controller_suite):
22291 * libs/gst/controller/gstcontroller.c:
22292 (gst_controlled_property_set_interpolation_mode):
22293 * libs/gst/controller/gstcontroller.h:
22294 * libs/gst/controller/gstinterpolation.c:
22295 * testsuite/controller/.cvsignore:
22296 * testsuite/controller/Makefile.am:
22297 * testsuite/controller/interpolator.c:
22298 merge controller testsuites
22300 remove mem-chunk from docs
22302 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22304 * gst/gstmemchunk.c:
22305 * gst/gstmemchunk.h:
22306 * gst/gsttrashstack.c:
22307 * gst/gsttrashstack.h:
22308 out. get out. you're fired. to the Attic !
22310 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22312 * gst/gstcaps.c: (gst_caps_intersect):
22313 fix signedness issues in a (hopefully) correct way
22314 * gst/gstelement.c: (gst_element_pads_activate):
22316 * gst/gstobject.c: (gst_object_set_parent):
22319 2005-10-17 Julien MOUTTE <julien@moutte.net>
22321 * gst/gstvalue.h: Fix prototypes.
22323 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22325 * docs/gst/gstreamer-sections.txt:
22326 * gst/gst.c: (gst_version_string):
22328 * gst/gstversion.h.in:
22329 * win32/common/libgstreamer.def:
22330 add gst_version_string ()
22332 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22336 * gst/gst.c: (init_post):
22337 * win32/common/config.h.in:
22339 * gst/gstcaps.c: (gst_caps_intersect):
22340 use gint64, the range could be bigger than a guint
22342 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22345 document potential problem in 2038
22347 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22349 * gst/gstcaps.c: (gst_caps_intersect):
22350 Fix guint j diving under 0
22352 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22355 * win32/common/config.h:
22356 * win32/common/config.h.in:
22357 check for process.h, declares getpid() on Windows
22359 include process.h if we have it
22360 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22361 * gst/gstmemchunk.h:
22362 fix signedness issues
22363 * win32/common/libgstreamer.def:
22366 2005-10-16 Julien MOUTTE <julien@moutte.net>
22368 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22369 fix. Because of unsigned ints, caps intersection was going nuts and
22370 trying to access structures with G_MAXUINT index. That fixes
22371 videotestsrc ! ffmpegcolorspace ! fakesink
22372 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22375 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22378 use the gettext macro
22379 * gst/elements/gstelements.c:
22381 * gst/indexers/gstindexers.c:
22382 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22383 * win32/common/config.h:
22385 * win32/common/config.h.in:
22386 add the template to generate config.h
22387 * win32/common/gstenumtypes.c:
22388 * win32/common/gstversion.h:
22391 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22393 * gst/gst.c: (gst_version):
22394 * gst/gstversion.h.in:
22397 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22400 Oops, add missing closing bracket.
22402 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22405 use common m4's for argument checking
22407 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22409 * docs/gst/gstreamer-sections.txt:
22411 Add GST_EVENT_TYPE_NAME() macro.
22413 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22416 * gst/gstpluginfeature.c:
22418 privatize more symbols
22420 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22423 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22424 everything that uses GStreamer API should have the includes
22426 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22428 * docs/gst/gstreamer-sections.txt:
22429 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22431 give each value a _get_type, removes the DATA exports
22433 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22437 remove _gst_registry_auto_load, not used anymore
22438 * gst/gstbin.c: (gst_bin_get_type):
22440 * gst/gstelement.c: (gst_element_get_type):
22441 * gst/gstelement.h:
22442 * gst/gstobject.c: (gst_object_get_type):
22444 * gst/gstpad.c: (gst_pad_get_type):
22446 make _get_type functions similar, fixes data export from library
22448 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22451 correctly make conditionals
22452 * gst/elements/Makefile.am:
22453 * gst/elements/gstelements.c:
22454 fix typo causing fdsrc not to build
22456 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22458 * testsuite/Makefile.am:
22459 * testsuite/bytestream/.cvsignore:
22460 * testsuite/bytestream/Makefile.am:
22461 * testsuite/bytestream/filepadsink.c:
22462 * testsuite/bytestream/gstbstest.c:
22463 * testsuite/bytestream/test1.c:
22464 * testsuite/bytestream/testfile1:
22465 * testsuite/caps/normalisation.c:
22466 * testsuite/caps/random.c: (main):
22467 * testsuite/cleanup/.cvsignore:
22468 * testsuite/cleanup/Makefile.am:
22469 * testsuite/cleanup/cleanup1.c:
22470 * testsuite/cleanup/cleanup2.c:
22471 * testsuite/cleanup/cleanup3.c:
22472 * testsuite/cleanup/cleanup4.c:
22473 * testsuite/cleanup/cleanup5.c:
22474 * testsuite/controller/interpolator.c:
22475 * testsuite/debug/printf_extension.c: (main):
22476 * testsuite/elements/tee.c:
22477 * testsuite/negotiation/.cvsignore:
22478 * testsuite/negotiation/Makefile.am:
22479 * testsuite/negotiation/pad_link.c:
22480 * testsuite/pad/Makefile.am:
22481 * testsuite/pad/chainnopull.c:
22482 * testsuite/pad/getnopush.c:
22483 * testsuite/pad/link.c:
22484 * testsuite/refcounting/sched.c: (create_pipeline):
22485 * testsuite/registry/Makefile.am:
22486 * testsuite/registry/gst-print-formats.c:
22487 * testsuite/schedulers/.cvsignore:
22488 * testsuite/schedulers/142183-2.c:
22489 * testsuite/schedulers/142183.c:
22490 * testsuite/schedulers/143777-2.c:
22491 * testsuite/schedulers/143777.c:
22492 * testsuite/schedulers/147713.c:
22493 * testsuite/schedulers/147819.c:
22494 * testsuite/schedulers/147894-2.c:
22495 * testsuite/schedulers/147894.c:
22496 * testsuite/schedulers/Makefile.am:
22497 * testsuite/schedulers/group_link.c:
22498 * testsuite/schedulers/queue_link.c:
22499 * testsuite/schedulers/relink.c:
22500 * testsuite/schedulers/unlink.c:
22501 * testsuite/schedulers/unref.c:
22502 * testsuite/schedulers/useless_iteration.c:
22503 * testsuite/states/bin.c:
22504 clean out/remove some stuff from the testsuite directories
22506 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22509 check for some headers
22510 * gst/elements/Makefile.am:
22511 * gst/elements/gstelements.c:
22512 don't compile fdsrc without sys/socket.h
22513 * gst/indexers/Makefile.am:
22514 * gst/indexers/gstindexers.c: (plugin_init):
22515 don't compile fileindex without mmap
22517 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22524 * check/Makefile.am:
22525 * docs/gst/Makefile.am:
22526 * examples/helloworld/Makefile.am:
22528 * gst/base/Makefile.am:
22529 * gst/check/Makefile.am:
22530 * gst/elements/Makefile.am:
22531 * gst/indexers/Makefile.am:
22532 * gst/parse/Makefile.am:
22533 * libs/gst/controller/Makefile.am:
22534 * libs/gst/dataprotocol/Makefile.am:
22535 * examples/helloworld/helloworld.c: (event_loop):
22536 compile fixes, though it's not being compiled currently
22538 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22540 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22541 Add some simple tests for the new taglist date API.
22543 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22545 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22546 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22547 Beautify 'last-message' output: print 'none' for buffer timestamps
22548 and durations if none is set; improve alignment with next messages.
22550 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22552 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22553 * gst/gstpluginfeature.h:
22554 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22555 * gst/gstregistry.h:
22556 * docs/gst/gstreamer-sections.txt:
22557 Add new API to check plugin feature version requirements.
22559 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22560 Some basic tests for the above.
22562 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22564 * gst/gststructure.c: (gst_structure_to_string):
22565 guard against NULL printf - happens when for example
22566 a message structure with GstClock gets serialized
22568 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22570 * gst/base/gstcollectpads.c: (gst_collectpads_event):
22571 Fix presumable copy'n'pasto.
22573 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22575 * gst/elements/gstfakesrc.h:
22576 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22577 * gst/elements/gsttypefindelement.c:
22578 fix some signedness
22579 * gst/elements/gstfilesink.c: (gst_file_sink_render):
22580 I wonder if this could actually write +2GB files before
22582 2005-10-13 Andy Wingo <wingo@pobox.com>
22584 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22585 Fix Timmeke Waymans bug.
22586 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22587 string of the proper length to gst_caps_from_string. There's a
22588 potential for, before this fix, that this could cause someone
22589 connecting over the network to cause a segfault if the payload is
22590 not NUL-terminated.
22592 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22594 * docs/design/draft-push-pull.txt:
22595 * docs/design/part-overview.txt:
22596 * docs/random/TODO-pre-0.9:
22597 * docs/random/old/ChangeLog.gstreamer:
22598 * gst/base/gstpushsrc.c:
22602 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22604 * gst/glib-compat.c: (gst_flags_get_first_value):
22605 * gst/glib-compat.h:
22606 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22607 (gst_value_compare_double), (gst_value_serialize_flags):
22608 GLib 2.6 g_flags_get_first_value has a bug that triggers an
22611 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22613 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22614 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22616 * tools/gst-launch.c: (event_loop):
22617 print out clock nicely
22619 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22621 * docs/gst/gstreamer-sections.txt:
22622 * gst/gsttaglist.h:
22623 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22624 (gst_tag_list_get_date_index):
22625 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22626 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22628 2005-10-13 Julien MOUTTE <julien@moutte.net>
22630 * gst/base/gstcollectpads.c: (gst_collectpads_event),
22631 (gst_collectpads_chain):
22632 * gst/base/gstcollectpads.h: Handle newsegment and store informations
22635 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22637 * docs/gst/gstreamer-sections.txt:
22640 * tools/gst-inspect.c: (main):
22641 * tools/gst-launch.c: (main):
22642 * tools/gst-run.c: (main):
22643 * tools/gst-xmlinspect.c: (main):
22644 fix GOption context leaks
22647 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22651 * win32/common/config.h:
22653 * win32/vs6/grammar.dsp:
22654 * win32/vs6/libgstelements.dsp:
22655 * win32/vs6/libgstreamer.dsp:
22658 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22660 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22661 * gst/base/gstbasesrc.c: (gst_base_src_query):
22662 fix more guint64<->gdouble conversions
22664 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22667 add win32-update target
22668 * win32/common/gstconfig.h:
22669 * win32/common/gstenumtypes.c:
22670 * win32/common/gstenumtypes.h:
22671 * win32/common/gstversion.h:
22672 add files that visual studio can't generate
22674 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22677 add a win32-update target
22680 2005-10-12 Wim Taymans <wim@fluendo.com>
22682 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22683 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22684 * gst/gstelement.c: (gst_element_commit_state),
22685 (gst_element_set_state):
22686 Protect flags with proper lock.
22687 unref provided cached clock in dispose.
22689 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22692 * gst/gstminiobject.h:
22694 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22695 removed unused flags from miniobject
22698 2005-10-12 Wim Taymans <wim@fluendo.com>
22700 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22701 (gst_file_sink_event), (gst_file_sink_render):
22702 Flush before seeking.
22704 2005-10-12 Andy Wingo <wingo@pobox.com>
22706 * gst/gst.c (gst_init_check): Ignore unknown options, as has
22707 always been the case.
22709 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22711 * check/gst/gstbin.c: (GST_START_TEST):
22712 * docs/gst/gstreamer-sections.txt:
22713 * gst/base/gstbasesink.c: (gst_base_sink_init):
22714 * gst/base/gstbasesrc.c: (gst_base_src_init),
22715 (gst_base_src_get_range), (gst_base_src_check_get_range),
22716 (gst_base_src_start), (gst_base_src_stop):
22717 * gst/base/gstbasesrc.h:
22718 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22719 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22720 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22724 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22726 * gst/gstelement.c: (gst_element_is_locked_state),
22727 (gst_element_set_locked_state), (gst_element_commit_state),
22728 (gst_element_set_state):
22729 * gst/gstelement.h:
22730 * gst/gstindex.c: (gst_index_init):
22732 * gst/gstminiobject.h:
22733 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22734 (gst_object_set_parent):
22736 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22737 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22739 * gst/gstpadtemplate.h:
22740 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22741 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22742 * gst/gstpipeline.h:
22743 * gst/indexers/gstfileindex.c: (gst_file_index_load),
22744 (gst_file_index_commit):
22745 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22746 * testsuite/pad/link.c: (gst_test_src_init),
22747 (gst_test_filter_init), (gst_test_sink_init):
22748 * testsuite/states/locked.c: (main):
22749 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22750 moved bitshift from macro to enum definition
22752 2005-10-12 Wim Taymans <wim@fluendo.com>
22754 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22755 * gst/elements/gstfilesink.c: (gst_file_sink_event),
22756 (gst_file_sink_render):
22757 Some more debugging info.
22759 2005-10-12 Wim Taymans <wim@fluendo.com>
22761 * docs/design/part-states.txt:
22762 * tools/gst-launch.c: (main):
22764 Revert non-intentional change.
22766 2005-10-12 Wim Taymans <wim@fluendo.com>
22768 * check/gst/gstbin.c: (GST_START_TEST):
22769 * check/gst/gstelement.c: (GST_START_TEST):
22770 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22771 * check/gst/gstghostpad.c: (GST_START_TEST):
22772 * check/gst/gstpipeline.c: (GST_START_TEST):
22773 * check/pipelines/simple_launch_lines.c: (run_pipeline):
22774 * check/states/sinks.c: (GST_START_TEST):
22775 * gst/elements/gsttypefindelement.c: (stop_typefinding):
22776 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22777 (gst_bin_remove_func), (gst_bin_get_state_func),
22778 (gst_bin_recalc_state), (gst_bin_change_state_func),
22780 * gst/gstelement.c: (gst_element_get_state_func),
22781 (gst_element_get_state), (gst_element_abort_state),
22782 (gst_element_commit_state), (gst_element_set_state),
22783 (gst_element_change_state), (gst_element_change_state_func):
22784 * gst/gstelement.h:
22785 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
22786 (gst_pipeline_provide_clock_func):
22787 * gst/gstutils.c: (gst_element_link_pads_filtered):
22788 * tools/gst-launch.c: (main):
22789 * tools/gst-typefind.c: (main):
22790 Use GstClockTime in _get_state() instead of GTimeVal.
22791 Remove old code in gstutils.c
22793 2005-10-12 Andy Wingo <wingo@pobox.com>
22795 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
22798 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
22799 there is no task. Shouldn't affect any code, as nothing in our
22800 plugins checks this return value.
22801 (gst_pad_stop_task): Also take the stream lock if the pad has no
22802 task. Docs updated.
22804 2005-10-12 Wim Taymans <wim@fluendo.com>
22806 * gst/gstpad.c: (pre_activate), (post_activate),
22807 (gst_pad_activate_pull), (gst_pad_activate_push):
22808 Cleanup activation code. Reset old state if
22811 2005-10-12 Wim Taymans <wim@fluendo.com>
22813 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22814 (gst_base_sink_change_state):
22815 No need to prerol after receiving EOS.
22817 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22818 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22819 * gst/elements/gstidentity.c: (gst_identity_event):
22820 Print events more verbosely.
22822 2005-10-12 Wim Taymans <wim@fluendo.com>
22824 * check/Makefile.am:
22825 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22826 * check/states/sinks2.c:
22827 Moved sinks2 testcode in sinks check.
22829 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22830 (gst_bin_remove_func), (gst_bin_recalc_state),
22831 (gst_bin_change_state_func), (bin_bus_handler):
22832 Fix potential race condition when _get_state() iterated over an
22833 ASYNC element right before it posted a state completion.
22836 Do proper cast here.
22838 * gst/gstevent.c: (gst_event_new_newsegment),
22839 (gst_event_parse_newsegment):
22840 A playback rate of 0.0 is not allowed.
22842 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22844 * win32/common/config.h:
22845 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
22846 (_trewinddir), (_ttelldir), (_tseekdir):
22847 * win32/common/dirent.h:
22848 * win32/common/gtchar.h:
22849 * win32/common/libgstbase.def:
22850 * win32/common/libgstreamer.def:
22851 * win32/vs6/grammar.dsp:
22852 * win32/vs6/gst_inspect.dsp:
22853 * win32/vs6/gst_launch.dsp:
22854 * win32/vs6/gstreamer.dsw:
22855 * win32/vs6/libgstbase.dsp:
22856 * win32/vs6/libgstelements.dsp:
22857 * win32/vs6/libgstreamer.dsp:
22858 Visual Studio 6 project files, and a new common directory.
22861 2005-10-11 Wim Taymans <wim@fluendo.com>
22863 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22864 (gst_base_sink_do_sync), (gst_base_sink_query),
22865 (gst_base_sink_change_state):
22866 * gst/base/gstbasesink.h:
22867 Correctly parse newsegment info.
22869 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22871 * gst/gst.c: (init_post):
22872 split plugin paths correctly
22874 2005-10-11 Wim Taymans <wim@fluendo.com>
22876 * check/gst/gstevent.c: (GST_START_TEST):
22877 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22878 (gst_base_sink_change_state):
22879 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
22880 * gst/base/gstbasetransform.c: (gst_base_transform_event):
22881 * gst/elements/gstfilesink.c: (gst_file_sink_event):
22882 * gst/gstevent.c: (gst_event_new_newsegment),
22883 (gst_event_parse_newsegment):
22885 Added extra flag to newsegment for future API freeze.
22886 Updated check and base elements.
22888 2005-10-11 Julien MOUTTE <julien@moutte.net>
22890 * gst/base/gstcollectpads.c: (gst_collectpads_init),
22891 (gst_collectpads_add_pad), (gst_collectpads_pop),
22892 (gst_collectpads_event), (gst_collectpads_chain):
22893 * gst/base/gstcollectpads.h: Handle EOS correctly.
22895 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22897 * tools/gst-launch.c: (main):
22898 more null protecting
22900 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22902 * gst/gst-i18n-lib.h:
22903 check for ENABLE_NLS, not GETTEXT_PACKAGE
22904 * gst/gstregistry.c: (gst_registry_add_plugin),
22905 (gst_registry_scan_path_level),
22906 (_gst_registry_remove_cache_plugins):
22907 protect possibly NULL strings
22908 * gst/parse/types.h:
22909 config.h already included before
22910 * tools/gst-inspect.c: (main):
22911 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
22912 check for ENABLE_NLS, not GETTEXT_PACKAGE
22913 * tools/gst-launch.c: (main):
22914 check for ENABLE_NLS, not GETTEXT_PACKAGE
22916 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22919 if we don't have glib, fail before testing 2.8
22920 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
22921 fix a leak, should fix plugins-base testsuite
22923 2005-10-11 Andy Wingo <wingo@pobox.com>
22925 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
22926 take the mode we're going to as an arg. Go head and set the mode
22927 and flushing flags now, so that if the activate function starts a
22928 thread all the flags will be in the right state.
22929 (post_activate): Renamed also. Just handle making sure streaming
22930 finishes for the deactivation case, and setting the deactivated
22932 (gst_pad_set_active): Complain loudly if deactivation fails.
22933 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
22934 (gst_pad_activate_push): Adapt to pre/post_activate changes,
22935 remove the terrible hack.
22937 2005-10-11 Wim Taymans <wim@fluendo.com>
22939 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22940 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
22941 (gst_bin_recalc_state), (gst_bin_change_state_func),
22942 (gst_bin_dispose), (bin_bus_handler):
22944 Prepare to make current EOS message queue more generic.
22947 * gst/gstevent.c: (gst_event_new_newsegment),
22948 (gst_event_parse_newsegment):
22950 Rename base to stream_time.
22952 * gst/gstmessage.h:
22955 2005-10-11 Wim Taymans <wim@fluendo.com>
22957 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22958 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
22959 (gst_bin_change_state_func), (bin_bus_handler):
22961 Work on proper clock selection.
22963 2005-10-11 Edward Hervey <edward@fluendo.com>
22965 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
22966 * libs/gst/controller/gstcontroller.h:
22967 Added GList* version of _remove_properties() in order to be able to wrap
22970 2005-10-11 Wim Taymans <wim@fluendo.com>
22972 * docs/design/part-states.txt:
22975 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
22976 (gst_bin_change_state_func), (bin_bus_handler):
22977 Doc updates. Don't distribute the same clock over and over again.
22983 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
22984 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
22985 (gst_pad_send_event):
22987 Make probe emission threadsafe again.
22988 Register quarks and move _get_name() from utils.
22991 * gst/gstpipeline.c: (gst_pipeline_class_init),
22992 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
22993 Only redistribute the clock of it changed.
22995 * gst/gstsystemclock.h:
23000 Moved the _flow_get_name() to GstPad.
23002 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23004 * check/gst-libs/gdp.c: (GST_START_TEST):
23005 * check/gst/gstcaps.c: (GST_START_TEST):
23006 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23007 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23008 (gst_dp_packet_from_caps):
23009 fix more valgrind warnings before turning up the heat
23011 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23013 * gst/parse/grammar.y:
23014 some cleanup before the hacking
23016 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23018 * gst/base/gstbasesrc.c: (gst_base_src_query):
23020 * gst/gstutils.c: (gst_guint64_to_gdouble),
23021 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23023 externalize, basesrc uses it
23024 obviously the implementation needs testing
23026 2005-10-10 Wim Taymans <wim@fluendo.com>
23028 * tests/sched/Makefile.am:
23029 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23030 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23032 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23034 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23035 apparently converting from guint64 to double is not implemented
23038 2005-10-10 Wim Taymans <wim@fluendo.com>
23040 * check/Makefile.am:
23041 * check/generic/states.c: (GST_START_TEST):
23042 * check/gst/gstbin.c: (GST_START_TEST):
23043 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23044 * check/states/sinks.c: (GST_START_TEST):
23045 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23047 Check fixes, use API as stated in design docs, remove hacks.
23049 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23050 (gst_base_sink_change_state):
23051 Catch stopping our task while we're shutting down.
23053 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23054 (gst_bin_remove_func), (gst_bin_get_state_func),
23055 (gst_bin_recalc_state), (gst_bin_change_state_func),
23058 * gst/gstelement.c: (gst_element_init),
23059 (gst_element_get_state_func), (gst_element_abort_state),
23060 (gst_element_commit_state), (gst_element_lost_state),
23061 (gst_element_set_state), (gst_element_change_state),
23062 (gst_element_change_state_func):
23063 * gst/gstelement.h:
23064 New state change algorithm (see #318116)
23066 * gst/gstpipeline.c: (gst_pipeline_class_init),
23067 (gst_pipeline_init), (gst_pipeline_set_property),
23068 (gst_pipeline_get_property), (do_pipeline_seek),
23069 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23070 * gst/gstpipeline.h:
23071 Remove crude state change hacks.
23074 Remove crude hacks.
23076 * tools/gst-launch.c: (main):
23077 Fixes for state change. Needs some more work to fully use the
23080 2005-10-10 Andy Wingo <wingo@pobox.com>
23082 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23084 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23085 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23088 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23090 * gst/gstiterator.c: (gst_iterator_new):
23091 Fix my previous commit: GTypes passed to gst_iterator_new()
23092 can be fundamental types.
23094 2005-10-10 Wim Taymans <wim@fluendo.com>
23096 * gst/gstelement.c: (gst_element_iterate_pad_list),
23097 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23098 (gst_element_iterate_sink_pads):
23099 Use src/sink pads lists for the respective iterators instead
23102 2005-10-10 Andy Wingo <wingo@pobox.com>
23104 Merged in popt removal + GOption addition patch from Ronald, bug
23107 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23108 GstElement macros around, remove popt-related symbols, add goption
23111 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23113 * docs/gst/Makefile.am:
23114 * docs/libs/Makefile.am: No POPT_CFLAGS.
23116 * examples/manual/Makefile.am:
23117 * docs/manual/basics-init.xml: Doc updates with an example.
23119 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23120 (gst_init), (parse_one_option), (parse_goption_arg):
23121 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23122 bit of hand merging and debugging to get the GOption stuff working
23125 * tests/Makefile.am:
23126 * tools/Makefile.am:
23127 * tools/gst-inspect.c: (main):
23128 * tools/gst-launch.c: (main):
23129 * tools/gst-run.c: (main):
23130 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23132 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23134 * gst/gstiterator.c: (gst_iterator_new):
23135 Add assertions to make sure passed GType is likely to really
23136 be a GType (as the compiler won't catch it if the size and
23137 GType arguments get mixed up, see #318447).
23139 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23141 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23143 * gst/gstbin.c: (gst_bin_iterate_sorted):
23144 Pass GType and size arguments to gst_iterator_new() in the right
23145 order (maybe we should make _new() take the GType as first argument
23146 just like _new_list()?) (#318447).
23149 2005-10-10 Wim Taymans <wim@fluendo.com>
23151 * gst/gstelement.c: (gst_element_finalize):
23152 And free the GStaticRecMutex too
23154 2005-10-10 Andy Wingo <wingo@pobox.com>
23156 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23157 Allocate and free the mutex properly.
23159 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23161 (GstElement): The state_lock is now recursive. Rebuild your
23162 plugins, suckers. Old macros adapted.
23164 * docs/gst/gstreamer-sections.txt: Doc updates.
23167 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23168 (g_static_rec_cond_wait): Ported from state changes patch, while
23169 we wait on bug #317802 to be solved in a well-distributed GLib.
23171 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23172 gst_element_change_state, variable name changes.
23173 (gst_element_change_state): Split out of gst_element_set_state in
23174 preparation for the state change merge. Doesn't pay attention to
23175 the 'transition' argument.
23176 (gst_element_set_state): Updates, hopefully purely cosmetic.
23177 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23178 state change patch.
23179 (gst_element_get_state_func): Renamed from get_state, cosmetic
23182 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23184 * gst/elements/gstelements.c:
23185 * win32/GStreamer.vcproj:
23187 * win32/dirent.c: (_tseekdir):
23188 * win32/gst-inspect.vcproj:
23189 * win32/gst-launch.vcproj:
23190 * win32/gstconfig.h:
23191 * win32/gstelements.vcproj:
23192 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23193 * win32/gstreamer.def:
23194 * win32/msvc71.sln:
23195 updates for the win32 build (patch from Sebastien Moutte)
23197 2005-10-10 Andy Wingo <wingo@pobox.com>
23199 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23200 gst_bin_get_state, cleaned up (but no logic changes).
23201 (bin_element_is_sink): Comment updates.
23202 (sink_iterator_filter): Remove needless cast.
23203 (gst_bin_iterate_sinks): Doc update.
23204 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23205 cleaned up (but no logic changes).
23207 * check/states/sinks.c (test_src_sink): Cleanups from the state
23209 (test_livesrc_sink): Sync on the state.
23211 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23212 the state change patch.
23214 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23217 * check/gst/gstbin.c: Merge in some style fixes and additional
23218 checks from Wim's state change patch.
23220 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23222 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23223 (gst_type_find_helper):
23224 Check whether we have the requested data already in our list of
23225 cached buffers before pulling a new buffer; also make the buffer
23226 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23228 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23233 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23234 don't use long long, it's not portable. Replacing with
23235 gint64 seems to work; let's hope no skeletons fall out of the closet.
23237 2005-10-10 Andy Wingo <wingo@pobox.com>
23239 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23241 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23243 * docs/gst/gstreamer-sections.txt:
23248 * gst/gstmessage.c: (gst_message_parse_state_changed):
23251 more docs, fix compilation
23253 2005-10-09 Philippe Khalaf <burger@speedy.org>
23254 * gst/gstmessage.c:
23255 Fixed a few forgotten variables on previous commit
23257 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23259 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23260 Fix evil typefind crasher: getrange() might return a short
23261 buffer at the end of a file, but gst_type_find_peek() must
23262 either return the full data as requested or NULL, but
23263 never a short buffer.
23265 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23267 * gst/gstmessage.c: (gst_message_new_state_changed),
23268 (gst_message_parse_state_changed):
23269 * gst/gstmessage.h:
23270 don't use "new", it's a C++ keyword
23272 2005-10-08 Wim Taymans <wim@fluendo.com>
23274 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23275 * gst/gstelement.c: (gst_element_post_message):
23276 * gst/gstpipeline.c: (gst_pipeline_change_state):
23277 Small docs and debug updates.
23279 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23281 * docs/gst/gstreamer-sections.txt:
23282 * gst/gstelementfactory.c:
23284 * gst/gsttaglist.c:
23287 2005-10-08 Wim Taymans <wim@fluendo.com>
23289 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23290 (gst_bin_dispose), (bin_bus_handler):
23291 Fix typos, add comments.
23292 Clear EOS list when going to PAUSED from any direction and do it
23293 in a threadsafe way.
23294 Get base time in a threadsafe way too.
23295 Fix confusing debug in the change_state function.
23296 Various other small cleanups.
23298 * gst/gstelement.c: (gst_element_post_message):
23299 Fix very verbose bus posting code.
23301 * gst/gstpipeline.c: (gst_pipeline_class_init),
23302 (gst_pipeline_set_property), (gst_pipeline_get_property),
23303 (gst_pipeline_change_state):
23304 Small ARG_ -> PROP_ cleanup
23306 2005-10-08 Wim Taymans <wim@fluendo.com>
23308 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23309 Do a less CPU demanding EOS check because we can.
23311 2005-10-08 Wim Taymans <wim@fluendo.com>
23313 * libs/gst/dataprotocol/dataprotocol.c:
23314 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23315 (gst_dp_packet_from_event):
23316 * libs/gst/dataprotocol/dataprotocol.h:
23317 * libs/gst/dataprotocol/dp-private.h:
23318 It's about time we bump the version number.
23319 Since event types don't fit in the guint8 anymore describing
23320 the payload type, make payload type 16 bits wide.
23322 2005-10-08 Wim Taymans <wim@fluendo.com>
23324 * docs/design/part-TODO.txt:
23325 * docs/design/part-clocks.txt:
23326 * docs/design/part-events.txt:
23327 * docs/design/part-gstbin.txt:
23328 * docs/design/part-gstelement.txt:
23329 * docs/design/part-gstpipeline.txt:
23330 * docs/design/part-live-source.txt:
23331 * docs/design/part-messages.txt:
23332 * docs/design/part-overview.txt:
23333 * docs/design/part-states.txt:
23336 2005-10-08 Wim Taymans <wim@fluendo.com>
23340 Fix event quark registration.
23341 Add some space between events so we can insert them in the
23344 2005-10-08 Wim Taymans <wim@fluendo.com>
23346 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23347 (gst_base_sink_handle_buffer):
23348 Better log message.
23351 * gst/gstelement.h:
23354 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23355 (gst_queue_set_property), (gst_queue_get_property):
23357 Remove old unused properties.
23359 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23360 * docs/gst/gstreamer-sections.txt:
23361 * gst/gstmessage.c:
23362 * gst/gstmessage.h:
23363 * gst/gstminiobject.c:
23364 * gst/gstminiobject.h:
23368 lots of new docs and doc fixes
23370 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23372 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23374 * gst/gstregistry.c: (gst_registry_lookup_locked),
23375 (gst_registry_scan_path_level):
23376 * gst/gstregistryxml.c: (load_plugin):
23377 Only ever load one plugin for a given plugin basename.
23378 This ensures correct overriding of GST_PLUGIN_PATH over
23379 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23380 system installed plugins.
23382 2005-10-08 Wim Taymans <wim@fluendo.com>
23384 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23385 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23386 Prepare for doing QOS.
23388 2005-10-08 Wim Taymans <wim@fluendo.com>
23390 * check/gst/gstbin.c: (GST_START_TEST):
23391 * check/pipelines/cleanup.c: (GST_START_TEST):
23392 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23393 Allow new clock message too.
23395 2005-10-08 Wim Taymans <wim@fluendo.com>
23397 * gst/gstmessage.c: (gst_message_new_error),
23398 (gst_message_new_warning), (gst_message_new_tag),
23399 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23400 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23401 (gst_message_new_segment_start), (gst_message_new_segment_done),
23402 (gst_message_parse_state_changed),
23403 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23404 (gst_message_parse_new_clock):
23405 * gst/gstmessage.h:
23406 Also carry the clock in question.
23408 2005-10-08 Wim Taymans <wim@fluendo.com>
23410 * gst/gstmessage.c: (gst_message_new_custom),
23411 (gst_message_new_eos), (gst_message_new_error),
23412 (gst_message_new_warning), (gst_message_new_tag),
23413 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23414 (gst_message_new_new_clock), (gst_message_new_segment_start),
23415 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23416 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23417 * gst/gstmessage.h:
23419 Added clock related messages.
23421 * gst/gstpipeline.c: (gst_pipeline_change_state):
23422 Post message when the clock changed.
23424 * tools/gst-launch.c: (event_loop):
23427 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23429 * tools/gst-inspect.c: (print_element_properties_info):
23430 Can't pass NULL strings to g_print() on windows.
23432 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23434 * docs/Makefile.am:
23435 * docs/gst/Makefile.am:
23436 * docs/gst/gstreamer-docs.sgml:
23437 * docs/gst/running.xml:
23438 * docs/version.entities.in:
23439 add a chapter on running GStreamer.
23440 document GST_DEBUG and GST_PLUGIN* env vars
23442 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23447 remove PLUGINS_BUILDDIR stuff
23448 * gst/gst.c: (init_post):
23449 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23451 remove, it was condescending and not needed
23453 2005-10-08 Wim Taymans <wim@fluendo.com>
23455 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23456 (gst_base_sink_handle_object), (gst_base_sink_event),
23457 (gst_base_sink_wait), (gst_base_sink_handle_event),
23458 (gst_base_sink_change_state):
23459 * gst/base/gstbasesink.h:
23460 Repost EOS message while going to PLAYING if still EOS.
23461 Make sure that when receiving a FLUSH_START we don't attempt
23462 to sync on the clock anymore.
23464 2005-10-08 Wim Taymans <wim@fluendo.com>
23466 * tools/gst-launch.c: (event_loop):
23467 Better message printout.
23469 2005-10-08 Wim Taymans <wim@fluendo.com>
23471 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23472 (gst_bin_child_proxy_get_children_count):
23473 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23474 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23475 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23476 (gst_child_proxy_set_valist):
23477 * gst/parse/grammar.y:
23478 Make ChildProxy threadsafe and fix mem leaks.
23480 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23482 * gst/gst.c: (init_post):
23483 debug the GST_PLUGIN_ env vars
23485 2005-10-08 Wim Taymans <wim@fluendo.com>
23487 * check/gst/gstbin.c: (GST_START_TEST):
23488 * check/gst/gstmessage.c: (GST_START_TEST):
23489 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23490 * gst/gstelement.c: (gst_element_commit_state),
23491 (gst_element_lost_state):
23492 * gst/gstmessage.c: (gst_message_new_state_changed),
23493 (gst_message_parse_state_changed):
23494 * gst/gstmessage.h:
23495 * tools/gst-launch.c: (event_loop):
23496 Added extra field to STATE_CHANGE message with the pending
23497 state, which will be different from the new state soon.
23499 2005-10-08 Wim Taymans <wim@fluendo.com>
23501 * gst/gstbus.c: (gst_bus_pop):
23503 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23504 Small cleanups and doc updates.
23506 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23508 * gst/gst.c: (init_pre):
23509 * gst/gstbin.c: (gst_bin_add_func):
23510 log distributing clocks and base time
23511 * gst/gstregistry.c: (gst_registry_add_plugin),
23512 (gst_registry_scan_path_level), (gst_registry_scan_path):
23513 clean up the debugging output a little
23514 * gst/gstutils.c: (gst_element_state_get_name):
23515 warn about a memleak (I've actually seen this be used, though
23516 it was probably a bug)
23518 2005-10-07 Wim Taymans <wim@fluendo.com>
23520 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23521 (gst_base_src_init), (gst_base_src_default_newsegment),
23522 (gst_base_src_newsegment), (gst_base_src_do_seek),
23523 (gst_base_src_loop), (gst_base_src_start):
23524 * gst/base/gstbasesrc.h:
23525 Make the newsegment event customizable by subclasses.
23527 2005-10-07 Wim Taymans <wim@fluendo.com>
23529 * gst/gstevent.c: (gst_event_new_buffersize),
23530 (gst_event_parse_buffersize):
23532 New event for future idea.
23534 2005-10-07 Andy Wingo <wingo@pobox.com>
23536 * gst/gstelement.c (gst_element_post_message): Doc update.
23538 * docs/gst/gstreamer-sections.txt: Update.
23540 * gst/gstmessage.c (gst_message_new_application): Made into a
23541 function like honest API calls.
23542 (gst_message_new_element): New message type.
23544 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23546 * check/elements/fakesrc.c (test_no_preroll): New check, checks
23547 that setting a live fakesrc to PAUSED returns NO_PREROLL both
23550 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23551 NO_PREROLL from gst_element_change_state to fall through.
23553 2005-10-07 Wim Taymans <wim@fluendo.com>
23555 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23556 (gst_ghost_pad_do_activate_push):
23557 Activating a ghostpad with no internal pad in push mode
23560 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
23563 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23564 Fixes compilation on Windows.
23566 2005-10-07 Michael Smith <msmith@fluendo.com>
23568 * tools/gst-inspect.c:
23569 Print out feature and plugin count at the end when printing out
23572 2005-10-04 Michael Smith <msmith@fluendo.com>
23574 * gst/gsterror.c: (_gst_stream_errors_init):
23575 Add another error string used in a few existing plugins.
23578 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23579 * tools/gst-inspect.c: (print_element_info):
23580 When a feature disappears from a plugin (and the feature exists in
23581 the cached registry file), things went horribly wrong. This isn't a
23582 complete fix, we should actually be removing the 'missing' features
23583 from the features list when we load the actual plugin. That's not
23586 2005-10-04 Johan Dahlin <johan@gnome.org>
23588 * check/gst/gstiterator.c: (GST_START_TEST):
23589 * gst/gstbin.c: (gst_bin_iterate_elements),
23590 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23591 * gst/gstelement.c: (gst_element_iterate_pads):
23592 * gst/gstformat.c: (gst_format_iterate_definitions):
23593 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23594 (gst_iterator_new_list), (gst_iterator_filter):
23595 * gst/gstiterator.h:
23596 * gst/gstquery.c: (gst_query_type_iterate_definitions):
23597 Add a GType to GstIterator, update callsites and tests.
23599 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23601 * gst/gstpad.c: (gst_pad_event_default_dispatch):
23602 give events a chance to be handled by event probes when the pad
23605 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23607 * gst/gstevent.c: (gst_event_type_get_name),
23608 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23610 add string representations for event types
23612 2005-10-06 Wim Taymans <wim@fluendo.com>
23614 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23615 Don't use NULL pointers.
23617 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23619 * gst/gst_private.h:
23621 * gst/gstelement.c:
23623 * gst/gstpluginfeature.c:
23624 widen the debug category in output to fit the biggest one we have
23625 add a bus category and use it
23626 play with the colors
23627 fix up some categories
23629 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23631 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23632 add push activation of sink ghost pads.
23633 Andye, please verify
23635 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23637 * gst/gstutils.c: (gst_element_link_pads):
23638 fix a bug in the case where neither element has a pad
23639 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23640 add a test for that case
23642 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23644 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23645 emit have-data before checking for peers. This allows
23646 for probe handlers to connect elements. This helps autopluggers.
23647 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23649 add six checks, linked/unlinked with no/true/false probe
23651 2005-10-04 Wim Taymans <wim@fluendo.com>
23653 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23654 (gst_fake_sink_event), (gst_fake_sink_preroll),
23655 (gst_fake_sink_render), (gst_fake_sink_change_state):
23656 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23657 (gst_fake_src_get_property), (gst_fake_src_create),
23658 (gst_fake_src_stop):
23659 * gst/elements/gstidentity.c: (gst_identity_stop):
23660 Protect last_message with lock.
23662 2005-10-04 Edward Hervey <edward@fluendo.com>
23665 Added precision in the comments for GST_FORMAT_DEFAULT
23667 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
23669 * tools/gst-launch.c: (main):
23670 Don't try to run erroneous pipelines.
23672 2005-10-04 Julien MOUTTE <julien@moutte.net>
23674 * gst/gstbus.c: We don't need this header.
23676 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23679 back to development
23681 === release 0.9.3 ===
23683 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23687 Releasing 0.9.3, "Unregistered"
23689 2005-10-03 Andy Wingo <wingo@pobox.com>
23691 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23692 whereby calling a pad's activatepush() function can start a thread
23693 that starts to push or pull before the pad gets the FLUSHING flag
23694 unset. Hack around it by holding the stream lock until the flag is
23695 set. Need to replace this with a proper solution. Together with
23696 the ghost pad fixes, this fixes mp3 playing/tagreading.
23698 * docs/design/part-gstghostpad.txt: Add a note about activation of
23699 proxy pads outside of ghost pads.
23701 * gst/gstghostpad.c: Implement the ghost pad activation design.
23703 2005-10-02 Andy Wingo <wingo@pobox.com>
23705 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23706 It is volatile, after all.
23708 * docs/design/part-gstghostpad.txt: Flesh out activation with
23711 * gst/base/gstbasesrc.c (gst_base_src_init): Use
23714 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
23717 Fix (unused) AM_CONDITIONAL tests.
23719 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
23721 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23723 * gst/gstutils.c: (gst_pad_query_convert):
23724 Add assertion that makes sure src_val is >=0, just like
23725 gst_query_new_convert() has. (#315895)
23727 2005-09-30 Edward Hervey <edward@fluendo.com>
23729 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23730 Let's not iterate pads we're not interested in, it avoids getting
23731 sky-high refcounts on sinkpad.
23733 2005-09-30 Wim Taymans <wim@fluendo.com>
23735 * gst/gstelement.c: (gst_element_set_state),
23736 (gst_element_change_state):
23737 Small tweak, element in ASYNC remains ASYNC.
23739 2005-09-30 Wim Taymans <wim@fluendo.com>
23741 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23742 Only error is an error.
23744 * gst/gstbin.c: (gst_bin_change_state):
23747 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23748 Also call pad_block in pad alloc.
23750 * gst/gstutils.c: (gst_flow_get_name):
23753 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23755 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23756 (gst_base_src_get_range):
23757 Fix documentation typos. Add some more debug info.
23759 2005-09-29 David Schleef <ds@schleef.org>
23761 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23762 more end-user friendly.
23763 * tools/gst-inspect.c: (main): Check if command-line argument is
23764 a file and attempt to load that file as a plugin.
23766 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23768 * check/gst/gstbin.c:
23769 * check/states/sinks.c:
23770 fix tests for the new warning
23771 * check/gst/gstpipeline.c:
23772 add a test for pipeline and bus interaction
23773 * gst/gstelement.c:
23774 elements should be NULL if they get disposed; add a warning if not
23776 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23779 for 2.6 refcounting, make debug log more correct by printing
23780 the actual refcounts at the time of swap (Wim)
23782 2005-09-29 Andy Wingo <wingo@pobox.com>
23784 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
23785 removes signal watches previously added via
23786 gst_bus_add_signal_watch.
23787 (gst_bus_add_signal_watch): Don't return the source id, just store
23788 it on the bus if there wasn't an id already.
23790 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
23791 add_signal_watch and remove_signal_watch.
23793 2005-09-29 Edward Hervey <edward@fluendo.com>
23795 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
23796 Better if we actually iterate the list :)
23798 2005-09-29 Wim Taymans <wim@fluendo.com>
23800 * check/gst/gstbin.c: (GST_START_TEST):
23801 Change for new bus API.
23803 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23804 (send_messages), (GST_START_TEST), (gstbus_suite):
23805 Change for new bus signal API.
23807 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23808 (gst_bus_source_prepare), (gst_bus_source_check),
23809 (gst_bus_create_watch), (gst_bus_add_watch_full),
23810 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23811 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23813 Remove support for multiple GSources operating on different
23814 message types as it is too complex and unneeded when using
23816 Added support for receiving signals from the bus.
23818 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23820 * docs/libs/tmpl/gstdataprotocol.sgml:
23821 * docs/manual/advanced-dataaccess.xml:
23822 * gst/elements/gstcapsfilter.c:
23824 rename filter-caps to caps property
23826 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23828 * gst/gstvalue.c: (gst_value_deserialize_fraction):
23829 More robust fraction string parsing.
23831 * docs/pwg/appendix-porting.xml:
23832 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
23834 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23836 * gst/gstcaps.c: (gst_caps_do_simplify):
23837 Thou shalt not free a structure and then continue using it
23838 in the next loop iteration.
23840 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
23842 Add test case for caps simplification.
23844 2005-09-29 Wim Taymans <wim@fluendo.com>
23846 * check/gst/gstbin.c: (GST_START_TEST):
23849 2005-09-29 Wim Taymans <wim@fluendo.com>
23851 * check/gst/gstbin.c: (GST_START_TEST):
23854 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
23855 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23856 (find_element), (gst_bin_sort_iterator_next),
23857 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23858 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23859 (gst_bin_change_state), (gst_bin_dispose):
23860 A bin does not have a bus, it gets the bus from the parent.
23862 * gst/gstelement.c: (gst_element_requires_clock),
23863 (gst_element_provides_clock), (gst_element_is_indexable),
23864 (gst_element_is_locked_state), (gst_element_change_state),
23865 (gst_element_set_bus_func):
23868 * gst/gstpipeline.c: (gst_pipeline_class_init),
23869 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
23870 The pipeline provides a bus.
23872 2005-09-28 Johan Dahlin <johan@gnome.org>
23874 * gst/gstmessage.c (gst_message_parse_state_changed): Use
23875 gst_structure_get_enum instead of gst_structure_get_int
23877 * gst/gststructure.c (gst_structure_get_enum): Impl.
23879 * gst/gststructure.h (gst_structure_get_enum): Add
23881 * docs/gst/gstreamer-sections.txt: Ditto
23883 * gst/gstmessage.c (gst_message_new_state_changed): Use
23884 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
23885 which does introspection.
23886 Reviewed by Christian Schaller
23888 2005-09-28 Stefan Kost <ensonic@users.sf.net>
23890 * gst/gstinfo.c: (gst_debug_log_default):
23891 don't do dummy g_strdup()s
23892 * libs/gst/controller/gstcontroller.c:
23893 (on_object_controlled_property_changed),
23894 (gst_controlled_property_new), (gst_controller_new_valist),
23895 (gst_controller_new_list),
23896 (gst_controller_remove_properties_valist), (gst_controller_set),
23897 (gst_controller_get), (gst_controller_sync_values),
23898 (gst_controller_get_value_array), (_gst_controller_class_init),
23899 (gst_controller_get_type):
23900 * libs/gst/controller/gstcontroller.h:
23901 * libs/gst/controller/gstinterpolation.c:
23902 (gst_controlled_property_find_timed_value_node):
23903 convert // to /**/ comments
23905 2005-09-28 Wim Taymans <wim@fluendo.com>
23907 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
23908 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
23909 (gst_bus_sync_signal_handler):
23911 Added async-message and sync-message signals to the bus.
23912 Added helper BusFunc to emit signals for all posted messages.
23914 * gst/gstmessage.c: (gst_message_type_get_name),
23915 (gst_message_type_to_quark), (gst_message_get_type):
23916 * gst/gstmessage.h:
23917 Register quarks for message names.
23919 2005-09-28 Stefan Kost <ensonic@users.sf.net>
23921 * docs/libs/gstreamer-libs-sections.txt:
23922 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
23923 (gst_controller_new_list):
23924 * libs/gst/controller/gstcontroller.h:
23925 added another constructor for language bindings
23927 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
23929 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23933 * gst/gstinfo.c: (_gst_debug_init):
23934 slightly more readable color for refcount debugging
23936 2005-09-28 Wim Taymans <wim@fluendo.com>
23938 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
23939 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23940 (find_element), (gst_bin_sort_iterator_next),
23941 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23942 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23943 (gst_bin_change_state), (gst_bin_dispose):
23944 Small doc fixes. get_clock -> provide_clock.
23946 * gst/gstelement.c: (gst_element_class_init),
23947 (gst_element_provides_clock), (gst_element_provide_clock),
23948 (gst_element_get_clock), (gst_element_commit_state),
23949 (gst_element_lost_state):
23950 * gst/gstelement.h:
23951 Make get/set_clock() symetric. Add provide_clock vmethod since
23952 that is actually what this function does.
23954 * gst/gstpipeline.c: (gst_pipeline_class_init),
23955 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
23956 (gst_pipeline_get_clock):
23957 get_clock -> provide_clock.
23959 2005-09-28 Andy Wingo <wingo@pobox.com>
23961 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
23962 lieu of real docs...
23964 * gst/elements/gstfdsrc.c: Cleaned up a bit.
23966 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
23968 * gst/elements/gstcapsfilter.c:
23969 * gst/elements/gstfakesink.c:
23970 * gst/elements/gstfakesrc.c:
23971 * gst/elements/gstfdsink.c:
23972 * gst/elements/gstfdsrc.c:
23973 * gst/elements/gstfilesink.c:
23974 * gst/elements/gstfilesrc.c:
23975 * gst/elements/gstidentity.c:
23976 * gst/elements/gsttee.c:
23977 * gst/elements/gsttypefindelement.c:
23978 Make element details static.
23980 2005-09-28 Wim Taymans <wim@fluendo.com>
23982 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23983 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23984 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23985 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23986 (gst_bin_change_state), (gst_bin_dispose):
23987 Some documentation updates.
23988 Clean up dispose handlers.
23990 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
23991 * gst/gstpad.c: (gst_pad_dispose):
23992 Clean up dispose handler.
23994 * gst/gstpipeline.c: (gst_pipeline_change_state):
23995 Removed spurious UNLOCK.
23997 2005-09-27 Stefan Kost <ensonic@users.sf.net>
23999 * docs/gst/gstreamer-sections.txt:
24000 * gst/base/gstbasesrc.h:
24001 * gst/gstelement.h:
24005 * gst/gstpipeline.c:
24006 * gst/gstpipeline.h:
24009 added two new functions to the docs
24010 documents all undocumented GstXXXFlags
24011 completed some incomplete docs
24013 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24015 * gst/gstbin.c: (gst_bin_dispose):
24016 * gst/gstelement.c: (gst_element_dispose):
24017 remove now useless and leaky resurrection code in dispose
24018 * gst/base/gstbasesrc.c: (gst_base_src_init):
24019 * gst/gstelementfactory.c: (gst_element_factory_create):
24020 * gst/gstobject.c: (gst_object_set_parent):
24023 2005-09-27 Wim Taymans <wim@fluendo.com>
24025 * docs/design/part-TODO.txt:
24028 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24029 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24030 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24031 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24032 (gst_bin_change_state):
24033 * gst/gstelement.h:
24034 Remove element variable, we keep element info in the iterator now.
24036 2005-09-27 Andy Wingo <wingo@pobox.com>
24038 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24041 2005-09-27 Wim Taymans <wim@fluendo.com>
24043 * check/gst/gstbin.c: (GST_START_TEST):
24044 Enable check that works now.
24046 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24047 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24048 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24049 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24050 (gst_bin_change_state):
24052 Redid the state change algorithm using a topological sort algo.
24053 Handles all cases correctly.
24054 Exposed iterator for state change order.
24056 * gst/gstelement.h:
24057 Temp storage for state changes. Need to get rid of this soon.
24059 2005-09-27 Wim Taymans <wim@fluendo.com>
24061 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24062 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24063 (link_fold_func), (gst_pad_proxy_setcaps):
24064 Leak fixes, the fold functions need to unref the passed object and
24065 _get_parent_*() returns ref to parent.
24067 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24069 * check/gst/gstbuffer.c: (test_make_writable):
24070 Plug leak in test case and fix 'make check-valgrind'
24072 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24074 * gst/gstbuffer.c: (gst_subbuffer_init):
24075 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24076 works correctly in all circumstances (we could have just copied
24077 the parent buffer's readonly flag, but conceptually it seems
24078 cleaner to mark all subbuffers as read-only). (based on patch
24079 by Alessandro Decina, #314710).
24081 * check/gst/gstbuffer.c: (create_read_only_buffer),
24082 (test_make_writable), (test_subbuffer_make_writable),
24084 Add some tests for gst_buffer_make_writable().
24086 2005-09-27 Wim Taymans <wim@fluendo.com>
24088 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24089 use gst_object_has_ancestor().
24091 * gst/gstobject.c: (gst_object_has_ancestor):
24093 gst_object_has_ancestor() copied from gstbin.c as it is a
24096 * tests/instantiate/create.c: (create_all_elements):
24097 * tests/lat.c: (handoff_src), (handoff_sink):
24098 * tests/sched/runxml.c: (main):
24099 * tests/seeking/seeking1.c: (main):
24100 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24102 Fix compilation of some tests.
24104 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24107 Remove comment. GST_TYPE_G_ERROR is here to stay,
24108 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24109 (#316961, #300610).
24111 2005-09-26 Wim Taymans <wim@fluendo.com>
24113 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24114 Added check that shows error in state change order.
24116 2005-09-26 Wim Taymans <wim@fluendo.com>
24118 * gst/gstbin.c: (gst_bin_change_state):
24119 Make state change function use 3 queues again, we were
24120 adding elements in the wrong order.
24122 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24125 * gst/gstpad.c: (gst_pad_dispose):
24126 Added some debug info first.
24128 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24130 * docs/design/draft-push-pull.txt:
24131 * docs/design/part-events.txt:
24132 * docs/design/part-overview.txt:
24133 * docs/design/part-scheduling.txt:
24134 Replace all _pull_region() with _pull_range()
24136 2005-09-26 Andy Wingo <wingo@pobox.com>
24138 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24140 * check/gst-libs/controller.c: Update for controller api change.
24143 * tests/Makefile.am:
24144 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24145 over by GLib bug 118439.
24147 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24148 routines to a function.
24150 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24152 * libs/gst/controller/gsthelper.c:
24153 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24154 (gst_object_sync_values): Renamed from sink_values. Ugh.
24156 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24158 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24159 Renamed from controller_key, as it is exported.
24161 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24163 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24168 * gst/gstpadtemplate.h:
24171 * gst/gstqueryutils.c:
24172 * gst/gstqueryutils.h:
24173 remove queryutils headers after moving the two used functions
24174 to gstquery. also fixes build problem for gstsiddec
24176 2005-09-26 Michael Smith <msmith@fluendo.com>
24178 * tools/gst-launch.1.in:
24179 Correct documentation in manpage of debug syntax
24181 2005-09-26 Wim Taymans <wim@fluendo.com>
24183 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24184 (gst_base_src_is_seekable), (gst_base_src_change_state):
24185 Some more debugging info.
24187 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24189 * docs/gst/gstreamer-sections.txt:
24190 * gst/base/gstbasetransform.h:
24194 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24196 * docs/gst/.cvsignore:
24197 * docs/gst/tmpl/.cvsignore:
24198 * docs/gst/tmpl/gstpipeline.sgml:
24199 * docs/gst/tmpl/gstplugin.sgml:
24200 * gst/gstpipeline.c:
24203 inlined the last two docs files
24204 removed the tmpl directory from cvs (no more conflicts here!)
24206 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24208 * docs/gst/gstreamer-sections.txt:
24209 * docs/gst/tmpl/.cvsignore:
24210 * docs/gst/tmpl/gstpad.sgml:
24211 * docs/gst/tmpl/gstpadtemplate.sgml:
24213 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24214 (gst_pad_finalize), (gst_pad_set_pad_template):
24216 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24217 (gst_pad_template_class_init), (gst_pad_template_init),
24218 (gst_pad_template_dispose), (name_is_valid),
24219 (gst_static_pad_template_get), (gst_pad_template_new),
24220 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24221 (gst_pad_template_pad_created):
24222 * gst/gstpadtemplate.h:
24223 inlined two more docs
24224 factored gstpadtemplate out of gstpad
24226 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24228 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24229 (test_children_state_change_order_semi_sink):
24230 Fix test case: we can't rely on a fixed state change order when
24231 going from READY => PAUSED because the sink might commit its
24232 new state first when the first buffer created by the source
24233 reaches the sink before the source has finished its change state.
24234 (Test case still fails at times, see #316856, comment 5 onwards)
24236 2005-09-24 Wim Taymans <wim@fluendo.com>
24238 * docs/design/part-events.txt:
24239 * docs/design/part-gstbus.txt:
24240 * docs/design/part-gstpipeline.txt:
24241 * docs/design/part-messages.txt:
24242 * docs/design/part-overview.txt:
24243 * docs/design/part-segments.txt:
24247 * gst/gstelement.c:
24250 * gst/gstiterator.c:
24251 Various documentation updates.
24253 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24256 Well, that's embarassing. Luckily we weren't using
24257 GST_CLOCK_DIFF anywhere.
24259 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24261 * common/gtk-doc.mak:
24262 don't fail on building XML, FC4 slave shows a bunch of doc
24263 missing bits that I don't get
24265 * gst/gstpipeline.c:
24266 * gst/gststructure.c:
24269 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24271 * docs/design/part-gstbin.txt:
24272 * docs/design/part-gstbus.txt:
24274 Add blurb about how the bus goes into flushing mode and
24275 drops all messages when its bin goes from READY into NULL
24278 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24280 * docs/gst/gstreamer-sections.txt:
24281 * gst/gststructure.c: (gst_structure_get_clock_time):
24282 * gst/gststructure.h:
24283 add a method to get a GstClockTime out of a structure
24285 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24287 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24288 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24289 Added test to check state change order in bins (can still be made
24290 to fail here under heavy disk load; bails out with 'Push on pad
24291 fakesink:sink0, but it was not activated in push mode').
24293 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24294 Fix state change order when there is only a semi sink (#316856)
24296 * gst/gstbus.c: (gst_bus_class_init):
24297 Use _class_peek_parent(), not _class_ref(); fix docs to say
24298 'default main context' instead of 'mainloop' where that is
24301 * gst/gstelement.c: (gst_element_commit_state),
24302 (gst_element_set_state):
24303 Fix typos in debug messages
24305 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24308 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24309 * gst/gstpluginfeature.c:
24311 various doc updates
24312 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24313 change an assert into an error until it gets fixed properly
24315 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24317 * docs/gst/gstreamer-sections.txt:
24318 * docs/gst/tmpl/.cvsignore:
24319 * docs/gst/tmpl/gstelement.sgml:
24320 * docs/gst/tmpl/gstinfo.sgml:
24321 * docs/gst/tmpl/gstobject.sgml:
24322 * gst/gstelement.c:
24323 * gst/gstelement.h:
24326 * gst/gstobject.c: (gst_object_class_init):
24328 inlined 3 more biiiig doc files and added some missing docs on the fly
24330 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24332 * check/gst/.cvsignore:
24333 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24334 * gst/gstregistryxml.c: (load_plugin),
24335 (gst_registry_xml_save_plugin):
24336 put back source in registry. add checks for find_plugin.
24337 * testsuite/states/bin.c: (assert_state), (empty_bin),
24338 (test_adding_one_element), (main):
24339 * testsuite/states/locked.c: (main):
24340 some compile/run fixes
24342 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24344 * check/gst/gstvalue.c: (GST_START_TEST):
24345 fix leaks in the test itself
24347 2005-09-22 Wim Taymans <wim@fluendo.com>
24349 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24350 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24351 (gst_base_sink_query):
24352 Prepare for more accurate position reporting and query
24355 * gst/gstelement.c: (gst_element_send_event),
24356 (gst_element_set_state):
24359 2005-09-22 Wim Taymans <wim@fluendo.com>
24361 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24362 (gst_query_parse_segment):
24364 More documentation.
24365 Add segment query for future use.
24367 2005-09-22 Wim Taymans <wim@fluendo.com>
24369 * gst/gstbin.c: (gst_bin_add_func):
24370 Some more debug info.
24372 * gst/gstelement.c: (gst_element_send_event):
24373 Simplify send_event
24375 * gst/gstelement.h:
24376 Don't know how flags got broken.
24381 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24383 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24384 Add simplistic test suite for GST_TYPE_DATE serialisation and
24387 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24389 * docs/gst/gstreamer-sections.txt:
24390 * gst/gststructure.c: (gst_structure_set_valist),
24391 (gst_structure_get_date):
24392 * gst/gststructure.h:
24393 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24394 (gst_date_copy), (gst_value_compare_date),
24395 (gst_value_serialize_date), (gst_value_deserialize_date),
24396 (gst_value_transform_date_string),
24397 (gst_value_transform_string_date), (_gst_value_initialize):
24399 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24400 bunch of utility functions along with a hack that checks that
24401 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24402 is required. Part of the grand scheme in #170777.
24404 2005-09-22 Andy Wingo <wingo@pobox.com>
24406 * gst/gstconfig.h.in: Psych out gtk-doc.
24408 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24410 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24412 * tools/gst-inspect.c (print_element_list): Plug some
24413 inconsequential leaks.
24415 * gst/gstregistry.c (gst_registry_get_default): Doc.
24417 * check/gst/gstplugin.c:
24418 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24419 * gst/gstelementfactory.c (gst_element_factory_create):
24420 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24423 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24424 (gst_plugin_feature_load): Doc, don't eat refs.
24426 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24427 (gst_plugin_list_free): Doc.
24428 (gst_plugin_load_file): Doc updates.
24430 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24431 accessors returning refcounted objects, return a ref.
24433 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24434 accessor for caps. IDEMPOTENCE. Oh yes.
24436 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24438 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24440 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24441 (_gst_debug_register_funcptr):
24442 Add mutex to serialise access to the hash table with
24443 the function pointer => function name string mapping;
24444 make that hash table static scope (#316809).
24446 * gst/registries/.cvsignore:
24447 Remove left-over file.
24449 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24451 * docs/pwg/appendix-porting.xml:
24452 And something about newsegment events and caps-on-buffers to
24453 the porting guide (feel free to improve).
24455 2005-09-21 Andy Wingo <wingo@pobox.com>
24457 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24458 data and event probes on the same pad.
24459 (test_buffer_probe_once): Test that removing probes from within
24460 the probe functions works.
24462 2005-09-21 Andy Wingo <wingo@pobox.com>
24464 * check/gst/gstutils.c: New file.
24465 (test_buffer_probe_n_times): A simple buffer probe test. More to
24468 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24469 have-data::buffer, not have-data.
24470 (gst_pad_add_event_probe): Likewise for have-data::event.
24471 (gst_pad_add_data_probe): More docs. The part about 'resolving the
24472 peer' isn't quite right yet though.
24473 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
24474 (gst_pad_remove_data_probe): Change to take the guint handler_id
24475 as their arg, not the function+data, which is more glib-like.
24477 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24478 the signal emission to indicate if the data is a buffer or an
24480 (gst_pad_get_type): Initialize buffer and event quarks.
24481 (gst_pad_class_init): have-data is now a detailed signal, yes it
24484 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24486 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24487 * gst/gstutils.c: (gst_util_set_value_from_string),
24488 (gst_util_set_object_arg):
24489 Don't put functional code in g_return_if_fail() or
24490 g_return_val_if_fail() statements, otherwise things will
24491 break when G_DISABLE_CHECKS is defined during compilation.
24493 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24495 * docs/gst/tmpl/.cvsignore:
24496 * docs/gst/tmpl/gstvalue.sgml:
24499 inlied another one and added some obvious docs
24501 2005-09-21 Wim Taymans <wim@fluendo.com>
24503 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24504 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24505 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24506 (gst_fdsrc_get_property), (gst_fdsrc_create):
24507 * gst/elements/gstfdsrc.h:
24508 Properly implement fdsrc. Removed signal and timeout,
24509 better implemented somewhere else.
24511 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24513 * docs/gst/tmpl/.cvsignore:
24514 * docs/gst/tmpl/gstimplementsinterface.sgml:
24515 * gst/gstinterface.c:
24518 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24520 * docs/gst/gstreamer-sections.txt:
24521 * docs/gst/tmpl/.cvsignore:
24522 * docs/gst/tmpl/gstenumtypes.sgml:
24523 remove obsolete doc file
24525 2005-09-21 David Schleef <ds@schleef.org>
24527 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24528 little beer, fix a little leak.
24530 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24532 * docs/gst/gstreamer-docs.sgml:
24533 * docs/gst/gstreamer-sections.txt:
24534 * docs/gst/tmpl/.cvsignore:
24538 * gst/gstelement.h:
24539 * gst/gstindex.c: (gst_index_class_init):
24541 * gst/gstindexfactory.c: (gst_index_factory_get_type),
24542 (gst_index_factory_class_init), (gst_index_factory_init),
24543 (gst_index_factory_finalize), (gst_index_factory_new),
24544 (gst_index_factory_destroy), (gst_index_factory_find),
24545 (gst_index_factory_create), (gst_index_factory_make):
24546 * gst/gstindexfactory.h:
24547 * gst/gstpluginfeature.c:
24548 * gst/gstpluginfeature.h:
24549 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24550 more docs inlined, splitted gstindex.{c,h}
24552 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24554 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24557 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24559 * gst/elements/gstfilesink.c: (gst_file_sink_init):
24560 Set sync to FALSE by default.
24562 2005-09-20 Wim Taymans <wim@fluendo.com>
24564 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24565 (gst_base_sink_init):
24566 Make sync property settable from subclass.
24568 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24569 (gst_fake_sink_change_state):
24570 Set sync to FALSE by default.
24572 2005-09-20 Wim Taymans <wim@fluendo.com>
24574 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24575 * tools/gst-launch.c: (main):
24576 The timeout handler should have lower priority than the source
24577 so we don't timeout before popping a message with 0 timeout.
24578 Dump error messages after failed state change.
24580 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24582 * tools/gst-inspect.c: (print_element_properties_info):
24585 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24587 * check/gst/gstevent.c:
24588 * gst/elements/gstfakesink.c:
24589 * gst/elements/gstfakesink.h:
24590 remove the sync property from fakesink.
24591 has the side effect of setting sync TRUE
24592 for fakesink, which is a change. Anyone who knows how
24593 to fix this nicely in a GObject-y way, feel free.
24595 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24597 * docs/gst/gstreamer-docs.sgml:
24598 remove probe refsection
24600 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24602 * check/Makefile.am:
24603 disable valgrinding the controller test again
24604 * docs/gst/gstreamer-sections.txt:
24605 update for api-changes
24607 2005-09-20 Wim Taymans <wim@fluendo.com>
24609 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24610 (gst_base_sink_set_property), (gst_base_sink_get_property),
24611 (gst_base_sink_do_sync):
24612 * gst/base/gstbasesink.h:
24613 Added sync property to basesink to disable clock sync.
24615 2005-09-20 Andy Wingo <wingo@pobox.com>
24617 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24618 eating the caller's refcount.
24620 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
24621 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24624 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24625 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24626 of GLib 2.8 public, so we can know which refcount to check in
24629 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24630 (gst_object_init): Only set the gst refcount if we're going ahead
24631 with the refcount hack.
24633 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24635 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24636 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24637 more leaks plumbed, added more debug-logging
24641 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24643 * gst/gstmessage.c:
24644 remove include of gstmemchunk.h
24646 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24648 * gst/gstclock.c: (_gst_clock_id_free):
24649 Commit from the Political Party For More Atomic CVS Commits,
24650 so that people don't waste too much of their day fishing
24651 out obvious leaks out of massive commits.
24652 Oh, and fix a pretty damn obvious leak in the memchunk
24655 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24657 * check/Makefile.am:
24658 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24659 plug mem-leak, re-add to valgrindable tests
24661 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24664 unbreak the build for those who have chronic arthritis
24665 and typing "make check" is just too taxing on the hands
24667 2005-09-20 Andy Wingo <wingo@pobox.com>
24669 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24670 really want it out, you should fix plugins at the same time.
24672 2005-09-19 Stefan Kost <ensonic@users.sf.net>
24675 * docs/gst/gstreamer-sections.txt:
24677 added missing symbols to api docs
24678 disable ref-count hack if we have glib >= 2.8
24680 2005-09-19 David Schleef <ds@schleef.org>
24682 * docs/gst/Makefile.am: Ignore a few more internal headers
24683 * docs/gst/gstreamer-docs.sgml: Remove old sections
24684 * docs/gst/gstreamer-sections.txt: Remove old sections
24685 * docs/gst/tmpl/gstobject.sgml: update
24686 * docs/gst/tmpl/gstplugin.sgml: update
24687 * docs/gst/tmpl/gstpluginfeature.sgml: update
24688 * docs/random/ds/0.9-suggested-changes: update.
24689 * gst/Makefile.am: remove memchunk and trashstack, since they're
24691 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24692 * gst/gst.h: don't include some headers
24693 * gst/gstchildproxy.c: add gstmarshal.h
24694 * gst/gstclock.c: Don't use memchunks
24695 * gst/gstminiobject.c: Add some docs
24696 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24697 * gst/gstobject.h: same
24698 * gst/gstplugin.c: include gstmacros.h
24699 * gst/gstplugin.h: don't include gstmacros.h, since it's private
24700 * gst/gstquery.c: don't use memchunks
24701 * gst/gstregistry.c: rename gst_registry_deinit()
24702 * gst/gstregistry.h: same
24704 2005-09-19 David Schleef <ds@schleef.org>
24706 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24707 * docs/libs/gstreamer-libs-sections.txt:
24708 * docs/libs/tmpl/gstgetbits.sgml:
24709 * docs/libs/tmpl/gstputbits.sgml:
24711 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
24713 * win32/gstenumtypes.c:
24714 * win32/gstenumtypes.h:
24717 2005-09-19 Wim Taymans <wim@fluendo.com>
24719 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24720 Automatically PAUSE and RESUME a pipeline when a flushing seek
24723 2005-09-19 Andy Wingo <wingo@pobox.com>
24725 * gst/gstregistry.h: Spacing fixen.
24727 2005-09-19 Wim Taymans <wim@fluendo.com>
24729 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24730 Handle state change failure more correctly.
24732 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24734 * check/Makefile.am:
24735 * check/pipelines/cleanup.c: (run_pipeline):
24736 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24738 enable cleanup again after fixing the leak
24740 some more info on docs
24742 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24744 * check/Makefile.am:
24745 re-enable tests now that leaks are plugged
24747 * check/gst/gstbin.c:
24748 * check/gst/gstpipeline.c:
24749 add some more tests while fixing leaks
24750 * common/check.mak:
24751 make sure binaries are uptodate when valgrinding/gdbing
24753 * gst/gstelementfactory.c:
24754 remove a ref too many, and add a FIXME for when we get
24755 round to disposing of classes
24757 fix the refcounting when loading a plugin from a file and
24758 the code pretends that the pointer is the same even though
24759 of course it can change
24760 * gst/gstpluginfeature.c:
24761 unref plugins marked cached (a bit confusing as a name)
24762 as the docs state should be done
24763 various doc additions to explain refcounting
24764 * gst/gstregistry.c:
24765 * gst/gstregistryxml.c:
24768 2005-09-19 Wim Taymans <wim@fluendo.com>
24770 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24771 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24772 (send_messages), (GST_START_TEST), (gstbus_suite):
24773 * check/gst/gstpipeline.c: (GST_START_TEST):
24774 * check/pipelines/cleanup.c: (run_pipeline):
24775 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24777 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24778 (gst_bus_source_check), (gst_bus_source_dispatch),
24779 (gst_bus_create_watch), (gst_bus_add_watch_full),
24780 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
24782 * tools/gst-launch.c: (event_loop):
24783 * tools/gst-md5sum.c: (event_loop):
24784 GstBusHandler -> GstBusFunc, return value has the same meaning as
24785 any other GSource (FALSE == remove source).
24786 _add_watch() and _add_watch_full() now take a MessageType mask to
24787 only handle specific types of messages.
24788 _poll() returns the GstMessage instead of the message type to avoid
24790 _have_pending() takes a MessageType mask now too.
24791 Added testsuite for multiple bus watches.
24792 Fix testsuites and applications for new bus API.
24794 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24796 * check/Makefile.am:
24797 mark a bunch of the tests as to fix until we fix them
24799 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24801 * common/check.mak:
24802 use GST_PLUGIN settings for valgrind tests as well, so we're
24803 valgrinding the correct thing
24804 * gst/gst.c: (init_post):
24807 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24809 * gst/gst.c: (init_post), (gst_deinit):
24810 * gst/gstelementfactory.c: (gst_element_factory_class_init),
24811 (gst_element_factory_finalize), (gst_element_factory_cleanup):
24812 * gst/gstindex.c: (gst_index_factory_class_init),
24813 (gst_index_factory_finalize):
24814 * gst/gstobject.c: (gst_object_dispose):
24815 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24816 (gst_plugin_load_file), (gst_plugin_desc_free):
24817 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24818 (gst_plugin_feature_finalize):
24819 * gst/gstregistry.c: (gst_registry_class_init),
24820 (gst_registry_init), (gst_registry_finalize),
24821 (gst_registry_get_default), (gst_registry_deinit):
24822 * gst/gstregistry.h:
24823 * gst/gstregistryxml.c: (load_feature), (load_plugin):
24824 various cleanups and memleak plugging. make valgrind is happy now.
24826 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24828 * common/check.mak:
24829 add a check-valgrind target
24831 2005-09-18 David Schleef <ds@schleef.org>
24833 * tools/gst-inspect.c: Revert the GOption code.
24835 2005-09-17 David Schleef <ds@schleef.org>
24837 * check/Makefile.am: Fix environment variables.
24838 * check/gst/gstplugin.c: Fix for API changes.
24839 * tools/gst-inspect.c: Fix for API changes.
24840 * tools/gst-xmlinspect.c: Fix for API changes.
24841 * gst/gstelementfactory.c:
24844 * gst/gstpluginfeature.c:
24845 * gst/gstpluginfeature.h:
24846 * gst/gstregistry.c:
24847 * gst/gstregistry.h:
24848 * gst/gstregistryxml.c:
24849 * gst/gsttypefind.c:
24850 * gst/gsttypefindfactory.c:
24851 * gst/indexers/gstfileindex.c:
24852 * gst/indexers/gstmemindex.c:
24853 * gst/schedulers/Makefile.am:
24854 Change registry to keep track of both plugins and features,
24855 removing the feature tracking from plugins themselves.
24857 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
24859 * check/Makefile.am:
24860 * tools/gst-register.1.in:
24861 remove gst-register
24863 2005-09-15 David Schleef <ds@schleef.org>
24865 * check/gst/gstplugin.c:
24866 * gst/gstelementfactory.c:
24868 * gst/gstpluginfeature.c:
24869 * gst/gstregistry.c:
24870 Getting tired of debugging. Disabled all the unreffing of
24871 plugins and features, which fixes the segfaults, but of
24872 course leaks like crazy. At least playbin works.
24874 2005-09-15 David Schleef <ds@schleef.org>
24876 * check/gst/gstplugin.c: (register_check_elements),
24877 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
24879 * gst/elements/gsttypefindelement.c: Fix refcounting.
24880 * gst/gsttypefind.c:
24881 * gst/gsttypefindfactory.c:
24882 * gst/gsttypefindfactory.h:
24884 2005-09-15 David Schleef <ds@schleef.org>
24886 * gst/gstindex.c: get refcounting correct.
24887 * gst/gstregistry.c: Handle the case where a feature/plugin is
24890 2005-09-15 David Schleef <ds@schleef.org>
24892 * check/Makefile.am:
24893 * check/gst/gstplugin.c: Add test
24894 * gst/gstplugin.c: Fix problems noticed by testsuite
24896 * gst/gstregistry.c:
24897 * gst/gstregistry.h:
24899 2005-09-15 David Schleef <ds@schleef.org>
24901 * gst/gstplugin.c: Implement semi-decent recounting and locking
24902 in plugins and plugin features.
24904 * gst/gstpluginfeature.c:
24905 * gst/gstpluginfeature.h:
24906 * gst/gstregistry.c:
24908 2005-09-15 Michael Smith <msmith@fluendo.com>
24910 * gst/gstregistry.c: (gst_registry_get_feature_list):
24911 Implement this. Makes oggdemux work; decodebin still broken.
24913 2005-09-14 David Schleef <ds@schleef.org>
24915 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
24917 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
24918 * gst/check/Makefile.am:
24919 * libs/gst/controller/Makefile.am:
24920 * libs/gst/dataprotocol/Makefile.am:
24922 2005-09-14 David Schleef <ds@schleef.org>
24924 * configure.ac: Remove getbits library. Nothing uses it, and
24925 it should be in something like liboil if someone did want
24927 * libs/gst/Makefile.am:
24928 * libs/gst/getbits/Makefile.am:
24929 * libs/gst/getbits/gbtest.c:
24930 * libs/gst/getbits/getbits.c:
24931 * libs/gst/getbits/getbits.h:
24932 * libs/gst/getbits/gstgetbits_generic.c:
24933 * libs/gst/getbits/gstgetbits_i386.s:
24934 * libs/gst/getbits/gstgetbits_inl.h:
24936 2005-09-14 David Schleef <ds@schleef.org>
24938 * gst/Makefile.am: Dist glib-compat.h
24940 2005-09-14 David Schleef <ds@schleef.org>
24942 * configure.ac: Remove gst/registries, since it's no longer used.
24943 * gst/registries/Makefile.am:
24944 * gst/registries/gstlibxmlregistry.c:
24945 * gst/registries/gstlibxmlregistry.h:
24946 * gst/registries/gstxmlregistry.c:
24947 * gst/registries/gstxmlregistry.h:
24948 * gst/registries/registrytest.c:
24950 2005-09-14 David Schleef <ds@schleef.org>
24952 * gst/glib-compat.h:
24953 * gst/gstregistryxml.c:
24954 Convergence is near. Seriously.
24956 2005-09-14 David Schleef <ds@schleef.org>
24958 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24959 * gst/glib-compat.h:
24960 Attempt #4 to appease the buildbots.
24962 2005-09-14 David Schleef <ds@schleef.org>
24964 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24967 2005-09-14 David Schleef <ds@schleef.org>
24969 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24972 2005-09-14 David Schleef <ds@schleef.org>
24974 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
24977 2005-09-14 David Schleef <ds@schleef.org>
24979 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24980 * gst/glib-compat.h: Add some functions that are in newer versions
24981 of glib than we care to require.
24982 * gst/gstregistryxml.c: Use them.
24984 2005-09-14 David Schleef <ds@schleef.org>
24986 * po/POTFILES.in: remove gst-register.c
24988 2005-09-14 David Schleef <ds@schleef.org>
24990 * docs/gst/gstreamer-docs.sgml:
24991 * docs/gst/gstreamer-sections.txt:
24992 * docs/gst/gstreamer.types:
24993 * docs/gst/tmpl/gstelement.sgml:
24994 * docs/gst/tmpl/gstplugin.sgml:
24995 * docs/gst/tmpl/gstpluginfeature.sgml:
24996 Documentation updates for registry changes.
24998 2005-09-14 David Schleef <ds@schleef.org>
25000 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25001 because we don't require glib-2.8.
25003 2005-09-14 David Schleef <ds@schleef.org>
25005 * gst/gstregistryxml.c: Added. Essentially moved out of the
25006 registries directory.
25008 2005-09-14 David Schleef <ds@schleef.org>
25010 * check/Makefile.am:
25011 * check/generic/states.c:
25015 * gst/gst_private.h:
25016 * gst/gstelementfactory.c:
25021 * gst/gstpluginfeature.c:
25022 * gst/gstpluginfeature.h:
25023 * gst/gstregistry.c:
25024 * gst/gstregistry.h:
25025 * gst/gstregistrypool.c: remove
25026 * gst/gstregistrypool.h: remove
25027 * gst/gsttypefind.c:
25028 * gst/gsttypefindfactory.c:
25030 * tools/Makefile.am:
25031 * tools/gst-compprep.c:
25032 * tools/gst-inspect.c:
25033 * tools/gst-register.c: remove
25034 * tools/gst-xmlinspect.c:
25035 Registry rewrite. Changes registry from being a file created
25036 by a tool into a simple cache file created automatically by
25037 libgstreamer. Removed gst-register (because it's no longer
25038 needed). Remove registry pools, because we only have one
25039 registry implementation (XML). Fix up other subsystems as
25042 2005-09-13 Michael Smith <msmith@fluendo.com>
25044 * gst/gstconfig.h.in:
25045 Don't Use windows linking attributes for MinGW. Fixes #316157
25047 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25049 * gst/gstutils.c: (set_state_async_thread_func),
25050 (gst_element_set_state_async):
25051 Apparently people think it's better if this function doesn't
25052 try to set the state to whatever state was asked for on the first
25053 call to this function for any object. Seriously.
25055 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25057 * check/gst/gstpipeline.c: (GST_START_TEST):
25058 * docs/gst/gstreamer-sections.txt:
25059 * gst/gstutils.c: (set_state_async_thread_func),
25060 (gst_element_set_state_async):
25062 add a "gst_element_set_state_async" method that
25063 sets the state and starts a thread to make sure the state
25064 change completes as best as it can
25066 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25068 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25069 codify design+behaviour in testsuite after discussion
25071 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25073 * docs/gst/tmpl/gstelement.sgml:
25074 * docs/manual/appendix-quotes.xml:
25076 * gst/gstelement.c: (gst_element_set_state):
25079 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25081 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25082 (gst_base_transform_prepare_output_buf),
25083 (gst_base_transform_handle_buffer):
25084 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25085 (gst_capsfilter_prepare_buf):
25086 Remove the requirement for sub-classes to call the parent
25087 implementation of prepare_output_buffer with a wrapper function.
25089 * gst/gsttaglist.h:
25090 * gst/gsttagsetter.h:
25091 Fix #define wrapper
25093 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25095 * docs/gst/gstreamer-sections.txt:
25098 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25100 * docs/gst/gstreamer-sections.txt:
25101 * docs/gst/tmpl/gstelement.sgml:
25102 * docs/gst/tmpl/gstplugin.sgml:
25103 * gst/gstminiobject.c:
25105 docs now stop throwing warnings
25107 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25109 * docs/gst/gstreamer-sections.txt:
25110 * docs/gst/gstreamer.types:
25111 * docs/gst/tmpl/gstpad.sgml:
25112 * docs/gst/tmpl/gsttypes.sgml:
25113 * gst/base/gstadapter.h:
25114 * gst/base/gstbasesink.h:
25115 * gst/base/gstbasesrc.h:
25121 * gst/gstelement.h:
25123 * gst/gstmessage.h:
25125 * gst/gststructure.c:
25126 * gst/registries/gstlibxmlregistry.h:
25127 various documentation fixes
25129 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25131 * docs/gst/gstreamer-sections.txt:
25132 * docs/gst/tmpl/gstvalue.sgml:
25133 rearrange gstvalue section
25134 * gst/gstutils.c: (gst_element_state_get_name):
25136 * gst/gstvalue.c: (_gst_value_initialize):
25140 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25142 * check/gst-libs/controller.c:
25143 Header include fix.
25144 * gst/base/gstbasetransform.c:
25145 (gst_base_transform_default_prepare_buf),
25146 (gst_base_transform_handle_buffer):
25147 * gst/base/gstbasetransform.h:
25148 Some more basetransform changes and fixes to enable sub-classes
25149 that modify buffer metadata only.
25150 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25151 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25152 (gst_capsfilter_prepare_buf):
25153 If the output pad has fixed allowed caps and input buffers
25154 don't have any, set the fixed caps on outgoing buffers.
25156 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25157 * check/elements/identity.c: (GST_START_TEST):
25158 Make the error a little clearer when the test fails because
25159 identity made a copy of the buffer.
25160 * docs/gst/gstreamer-sections.txt:
25161 New symbols in gstbasetransform.h
25162 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25163 (gst_base_transform_init), (gst_base_transform_transform_size),
25164 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25165 (gst_base_transform_default_prepare_buf),
25166 (gst_base_transform_get_unit_size),
25167 (gst_base_transform_buffer_alloc),
25168 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25169 (gst_base_transform_change_state),
25170 (gst_base_transform_set_passthrough),
25171 (gst_base_transform_set_in_place),
25172 (gst_base_transform_is_in_place):
25173 * gst/base/gstbasetransform.h:
25174 Change BaseTransform to separate in_place operate from same_caps
25175 output. in_place implies that the element can perform the transform
25176 on incoming buffers in-place, even if the caps on the output are
25178 Sub-class elements can now implement special buffer allocation
25179 methods for outgoing buffers if they wish to.
25180 Big documentation addition.
25181 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25182 * gst/elements/gstelements.c:
25183 Changes for basetransform modifications.
25184 * gst/elements/Makefile.am:
25185 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25186 Compile fix. Extra debug output.
25188 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25190 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25192 add tests for valid pad naming
25193 * gst/check/gstcheck.c: (gst_check_log_message_func),
25194 (gst_check_log_critical_func):
25196 remove printing of code, it is fragile when the code contains
25197 % and the line number is enough info
25198 * gst/check/gstcheck.h:
25199 * gst/gstpad.c: (gst_pad_template_new):
25202 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25205 say what CHECK flags we use
25206 * docs/libs/gstreamer-libs.types:
25207 * libs/gst/controller/Makefile.am:
25208 * libs/gst/controller/gst-controller.c:
25209 * libs/gst/controller/gst-controller.h:
25210 * libs/gst/controller/gst-helper.c:
25211 * libs/gst/controller/gst-interpolation.c:
25212 * libs/gst/controller/gstcontroller.c:
25213 * libs/gst/controller/gsthelper.c:
25214 * libs/gst/controller/gstinterpolation.c:
25215 * tools/gst-inspect.c: (print_plugin_info):
25216 we don't use dashes in header names
25218 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25220 * check/Makefile.am:
25221 * check/gst/.cvsignore:
25222 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25223 (gst_pipeline_suite), (main):
25224 adding a test for pipelines and state changes
25225 * gst/gstutils.c: (get_state_func):
25227 * gstreamer.spec.in:
25230 2005-09-08 Michael Smith <msmith@fluendo.com>
25232 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25233 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25234 (gst_file_src_is_seekable), (gst_file_src_get_size),
25235 (gst_file_src_start):
25236 * gst/elements/gstfilesrc.h:
25237 Various fixes for unseekable, unmmapable, and non-normal files, so
25238 that fallback to read() rather than mmap() works.
25239 * gst/gstevent.c: (gst_event_new_newsegment):
25240 Allow newsegment events with segment_start == segment_end, as will
25241 correctly happen if you use filesrc on a zero-size file, for
25244 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25246 * gst/gstplugin.c: (gst_plugin_load_file):
25247 Call g_module_close when we don't load the module
25249 * gst/registries/gstlibxmlregistry.c:
25250 (gst_xml_registry_get_property):
25251 Port leak fix from 0.8
25253 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25255 * docs/gst/gstreamer-docs.sgml:
25256 * docs/gst/tmpl/.cvsignore:
25257 * docs/gst/tmpl/gsttrace.sgml:
25258 * docs/gst/tmpl/gsttrashstack.sgml:
25261 * gst/gstelement.h:
25263 * gst/gstmessage.c:
25264 * gst/gstmessage.h:
25267 * gst/gsttaginterface.c:
25268 * gst/gsttaginterface.h:
25269 * gst/gsttaglist.c:
25270 * gst/gsttaglist.h:
25271 * gst/gsttagsetter.c:
25272 * gst/gsttagsetter.h:
25275 * gst/gsttrashstack.c:
25276 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25277 inlined docs for gsttrace, gsttrashstack
25279 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25282 * gst/elements/gstbufferstore.h:
25283 * gst/elements/gsttypefindelement.c:
25284 * gst/elements/gsttypefindelement.h:
25286 * gst/gsttypefind.c:
25287 * gst/gsttypefind.h:
25288 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25289 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25290 (gst_type_find_factory_dispose),
25291 (gst_type_find_factory_unload_thyself),
25292 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25293 (gst_type_find_factory_get_caps),
25294 (gst_type_find_factory_get_extensions),
25295 (gst_type_find_factory_call_function):
25296 * gst/gsttypefindfactory.h:
25297 * gst/registries/gstlibxmlregistry.c:
25298 * gst/registries/gstxmlregistry.c:
25299 splitted gsttypefind into gsttypefind, gsttypefindfactory
25301 2005-09-07 Andy Wingo <wingo@pobox.com>
25303 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25304 condition whereby the pad's task function is entered before the
25305 pad_mode variable was set.
25307 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25309 * gst/gstpad.c: (gst_pad_alloc_buffer):
25310 Catch misbehaving pad_alloc functions that don't
25311 set up caps and do it for them.
25313 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25315 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25316 test for pipe!=NULL
25317 * docs/gst/tmpl/.cvsignore:
25318 * docs/gst/tmpl/gstmemchunk.sgml:
25319 * docs/gst/tmpl/gstparse.sgml:
25320 * docs/gst/tmpl/gsttaglist.sgml:
25321 * docs/gst/tmpl/gsttagsetter.sgml:
25322 * docs/gst/tmpl/gsttypefind.sgml:
25323 * docs/gst/tmpl/gsttypefindfactory.sgml:
25324 * gst/gstmemchunk.c:
25327 * gst/gsttaginterface.c:
25328 * gst/gsttypefind.c:
25329 * gst/gsttypefind.h:
25332 === release 0.9.2 ===
25334 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25339 releasing 0.9.2, "South"
25341 2005-09-05 Andy Wingo <wingo@pobox.com>
25343 * gst/registries/gstxmlregistry.h:
25344 * gst/registries/gstxmlregistry.c: Um... resurrect...
25346 * gst/registries/gstxmlregistry.h:
25347 * gst/registries/gstxmlregistry.c: and update to newer API.
25348 Incidentally they should be a bit faster now that they don't have
25351 2005-09-05 Andy Wingo <wingo@pobox.com>
25353 * gst/registries/gstxmlregistry.h:
25354 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25355 replaced by the libxml registry a while back
25357 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25359 * docs/gst/tmpl/gstplugin.sgml:
25360 * gst/elements/gstelements.c:
25362 * gst/gstplugin.c: (gst_plugin_register_func),
25363 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25364 (gst_plugin_get_source):
25366 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25367 (gst_xml_registry_save_plugin):
25368 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25369 (gst_xml_registry_save_plugin):
25370 * tools/gst-inspect.c: (print_plugin_info):
25371 add a "source" plugin description field, to represent the source
25372 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25373 will set it to PACKAGE, which is automake's idea of the name of
25374 the source project.
25376 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25381 * docs/Makefile.am:
25382 * docs/faq/Makefile.am:
25383 * docs/gst/tmpl/gstelement.sgml:
25384 * docs/gst/tmpl/gsttypes.sgml:
25385 * docs/htmlinstall.mak:
25386 * docs/manual/Makefile.am:
25387 * docs/pwg/Makefile.am:
25388 reorganize doc build a little
25389 split out docbook and gtk-doc stuff
25390 have two separate --enable's and enable them through autogen
25391 but disable by default in configure (to be similar to other
25393 * gstreamer.spec.in:
25394 clean up docs install
25412 translation updates
25414 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25416 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25419 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25420 (gst_fake_sink_change_state):
25421 Make state change function thread-safe.
25423 * gst/gstpad.c: (gst_pad_alloc_buffer):
25424 Set offset on generic buffer allocated by fallback.
25426 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25428 * docs/gst/gstreamer-sections.txt:
25429 * docs/gst/tmpl/gstelement.sgml:
25431 * libs/gst/controller/gst-controller.c:
25432 (gst_controlled_property_set_interpolation_mode),
25433 (gst_controlled_property_new),
25434 (gst_controller_find_controlled_property):
25435 run the wingo-magic script against the docs
25437 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25439 * docs/gst/gstreamer-docs.sgml:
25440 * docs/gst/gstreamer-sections.txt:
25441 * docs/gst/tmpl/.cvsignore:
25442 * docs/gst/tmpl/gstelementdetails.sgml:
25443 * docs/gst/tmpl/gstelementfactory.sgml:
25446 * gst/gstelementfactory.c:
25447 * gst/gstelementfactory.h:
25448 merged elementdetails docs into elementfactory docs
25451 2005-09-02 Andy Wingo <wingo@pobox.com>
25453 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25454 consider this enum an enum and not a flags.
25456 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25458 * docs/gst/gstreamer-docs.sgml:
25459 * docs/gst/tmpl/.cvsignore:
25460 * docs/gst/tmpl/gstghostpad.sgml:
25461 * docs/gst/tmpl/gstiterator.sgml:
25462 * docs/gst/tmpl/gstmacros.sgml:
25463 * docs/gst/tmpl/gstrealpad.sgml:
25464 * docs/gst/tmpl/gstregistry.sgml:
25465 * docs/gst/tmpl/gstregistrypool.sgml:
25466 * docs/gst/tmpl/gststructure.sgml:
25467 * docs/gst/tmpl/gstsystemclock.sgml:
25468 * docs/gst/tmpl/gsttrace.sgml:
25469 * gst/gstghostpad.c:
25471 * gst/gstmemchunk.c:
25472 * gst/gstmemchunk.h:
25474 * gst/gstregistry.c:
25475 * gst/gstregistrypool.c:
25476 * gst/gststructure.c:
25477 * gst/gstsystemclock.c:
25480 2005-09-02 Andy Wingo <wingo@pobox.com>
25482 * gst/gstelement.h (GstState): Renamed from GstElementState,
25483 changed to be a normal enum instead of flags.
25484 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25485 munged to be GST_STATE_CHANGE_*.
25486 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25487 work with the new state representation.
25488 (GstStateChange): New enumeration of possible state transitions.
25489 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25490 (GstElementClass::change_state): Pass the GstStateChange along as
25491 an argument. Helps language bindings, so they don't have to use
25492 tricky lock-needing macros like GST_STATE_CHANGE ().
25494 * scripts/update-states (file): New script. Run it on a file to
25495 update it for state naming and API changes. Updates files in
25498 * All files updated for the new API.
25500 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
25502 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25503 * gst/gstutils.c: (gst_util_set_value_from_string),
25504 (gst_util_set_object_arg):
25505 fix a bunch of unchecked return values
25506 * tools/gst-complete.c: (main):
25507 * gstreamer.spec.in:
25510 2005-09-01 Wim Taymans <wim@fluendo.com>
25512 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25513 (gst_base_sink_event), (gst_base_sink_do_sync),
25514 (gst_base_sink_handle_event):
25515 * gst/base/gstbasesink.h:
25516 Handle newsegments more correctly.
25521 * gst/gstevent.c: (gst_event_new_newsegment):
25522 A newsegment cannot have a start_time of -1
25524 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
25526 * win32/gstenumtypes.c:
25527 * win32/gstenumtypes.h:
25530 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25532 * libs/gst/controller/gst-controller.c:
25533 (gst_controlled_property_set_interpolation_mode),
25534 (gst_controlled_property_new):
25535 fixed boolean again
25537 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
25539 * docs/faq/gst-uninstalled:
25544 * gst/gstutils.c: (gst_element_link_filtered):
25546 add gst_element_link_filtered
25548 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25550 * docs/gst/gstreamer-docs.sgml:
25551 * docs/gst/gstreamer-sections.txt:
25552 * docs/gst/tmpl/.cvsignore:
25553 * docs/gst/tmpl/gsterror.sgml:
25554 * docs/gst/tmpl/gstfilter.sgml:
25555 * docs/gst/tmpl/gsturihandler.sgml:
25556 * docs/gst/tmpl/gsturitype.sgml:
25557 * docs/gst/tmpl/gstutils.sgml:
25558 * docs/gst/tmpl/gstxml.sgml:
25563 * gst/gsturitype.c:
25566 inlined more docs, fixed double id-ref
25568 2005-08-31 Wim Taymans <wim@fluendo.com>
25570 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25571 (gst_base_transform_handle_buffer):
25572 Passthrough elements don't need the caps as they don't care.
25574 2005-08-31 Wim Taymans <wim@fluendo.com>
25576 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25577 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25578 Don't leak refcounts on buffers.
25580 2005-08-31 Wim Taymans <wim@fluendo.com>
25582 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25583 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25584 (gst_base_transform_chain), (gst_base_transform_change_state):
25585 * gst/base/gstbasetransform.h:
25586 Handle the case where we are not negotiated more gracefully.
25588 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
25590 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25591 (gst_file_src_map_region):
25592 Set READONLY flag on mmap'ed buffers, otherwise
25593 gst_buffer_make_writable() won't work properly (#314708).
25595 2005-08-31 Wim Taymans <wim@fluendo.com>
25597 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25598 passthrough elements can even do inplace on non writable
25599 buffers (as they don't touch them).
25601 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25603 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25604 (gst_test_mono_source_set_property),
25605 (gst_test_mono_source_class_init), (GST_START_TEST),
25606 (gst_controller_suite):
25607 more tests (hehe I have the most)
25609 describe popping messages whenusing mulltiple sources
25610 * libs/gst/controller/gst-controller.c:
25611 (gst_controlled_property_set_interpolation_mode),
25612 (gst_controlled_property_new):
25613 * libs/gst/controller/gst-controller.h:
25614 * libs/gst/controller/gst-interpolation.c:
25615 implement boolean properties
25617 2005-08-31 Wim Taymans <wim@fluendo.com>
25619 * gst/gstminiobject.c: (gst_mini_object_ref):
25620 Cannot assert that the refcount has to be positive
25621 since a disposed object can be resurrected.
25623 2005-08-31 Wim Taymans <wim@fluendo.com>
25625 * gst/gstpad.c: (gst_pad_init):
25626 Revert change, need to first fix badly behaving
25629 2005-08-30 Wim Taymans <wim@fluendo.com>
25631 * check/elements/fakesrc.c: (setup_fakesrc):
25632 * check/elements/identity.c: (setup_identity):
25633 Activate pads before using them.
25635 2005-08-30 Wim Taymans <wim@fluendo.com>
25637 * gst/base/gstadapter.c: (gst_adapter_flush):
25638 Flushing out 0 bytes is ok for this function.
25640 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25641 no newsegment gives a warning and sets the start/stop to
25644 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25645 (gst_base_transform_set_passthrough):
25648 * gst/gstminiobject.c: (gst_mini_object_ref):
25649 Check refcount here too.
25651 * gst/gstpad.c: (gst_pad_init):
25652 Pads are initially flushing and refusing data.
25654 * gst/gstutils.c: (gst_element_link_pads_filtered):
25655 When adding a capsfilter element make sure it has the
25656 same state as the parent bin.
25658 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25660 * docs/gst/tmpl/.cvsignore:
25661 * docs/gst/tmpl/gstformat.sgml:
25662 * docs/gst/tmpl/gstversion.sgml:
25666 * gst/gstversion.h.in:
25667 more docs and two more inlined
25669 2005-08-30 Wim Taymans <wim@fluendo.com>
25671 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25672 Don't sync to clock.
25674 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25676 * docs/gst/gstreamer-sections.txt:
25677 ultral33t func10ns deserve to appear in the docs actually
25678 * docs/gst/tmpl/.cvsignore:
25679 * docs/gst/tmpl/gstcompat.sgml:
25680 * docs/gst/tmpl/gstconfig.sgml:
25681 * gst/check/gstcheck.c:
25683 * gst/gstconfig.h.in:
25686 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25688 * docs/gst/tmpl/.cvsignore:
25689 * docs/gst/tmpl/gstquery.sgml:
25690 * docs/gst/tmpl/gstutils.sgml:
25693 inlined and extended docs
25695 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25697 * check/gst-libs/controller.c: (GST_START_TEST),
25698 (gst_controller_suite):
25700 * docs/gst/tmpl/gstutils.sgml:
25701 * docs/libs/gstreamer-libs-sections.txt:
25702 * docs/libs/tmpl/gstdataprotocol.sgml:
25704 * examples/controller/audio-example.c: (main):
25705 controller example works now
25708 * tools/gst-inspect.c: (print_element_properties_info):
25709 show param spec flags
25711 2005-08-29 Andy Wingo <wingo@pobox.com>
25713 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25715 2005-08-28 Andy Wingo <wingo@pobox.com>
25717 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25718 as having two arguments instead of just one. Allows superclasses
25719 to access information on subclasses -- see the terrible for() loop
25720 in gtype.c:g_type_create_instance for the reason why. All callers
25723 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25725 * docs/design/part-messages.txt:
25727 * docs/gst/tmpl/.cvsignore:
25728 * docs/gst/tmpl/gstcaps.sgml:
25729 * docs/gst/tmpl/gstclock.sgml:
25735 * gst/gstmessage.c:
25736 added descriptions for bus and message
25737 inline caps and clock docs
25739 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25741 * gst/gstmessage.c:
25742 * gst/gstmessage.h:
25745 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25747 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25750 2005-08-26 Andy Wingo <wingo@pobox.com>
25752 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25753 element_set_state's return val.
25754 (test_2_elements): Add test that's been disabled for months.
25756 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25757 can-activate-pull properties.
25759 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25760 can-activate-pull properties. Implement is_seekable so fakesrc can
25761 operate in pull mode.
25763 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25765 (gst_base_sink_activate, gst_base_sink_activate_pull)
25766 (gst_base_sink_activate_push): Make activation mode choosing work.
25768 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25769 is right. Make pull mode work. Post an eos before pausing in pull
25771 (gst_base_sink_change_state): Pay attention to the core's
25772 change_state() return val.
25774 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25775 has-getrange properties. Cleanups.
25777 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25778 has_getrange and replace with can_activate_pull and
25781 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
25782 locking comments. Remove has_loop, has_chain and replace with
25783 can_activate_pull and can_activate_push.
25785 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
25788 * examples/Makefile.am:
25789 * examples/metadata/Makefile.am:
25790 * examples/metadata/read-metadata.c: (message_loop),
25791 (have_pad_handler), (make_pipeline), (print_tag), (main):
25792 Add metadata reading example that loops over a list of filenames,
25793 dumping any tags found.
25795 * gst/gstbus.c: (gst_bus_dispose):
25796 * gst/gstelement.c: (gst_element_dispose):
25797 Release a few potentially-held references in dispose.
25799 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25801 * docs/gst/tmpl/gstminiobject.sgml:
25802 do *not* add tmpl/*.sgml files to CVS!
25804 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25806 * libs/gst/bytestream/.cvsignore:
25807 * libs/gst/bytestream/Makefile.am:
25808 * libs/gst/bytestream/adapter.c:
25809 * libs/gst/bytestream/adapter.h:
25810 * libs/gst/bytestream/bytestream.c:
25811 * libs/gst/bytestream/bytestream.h:
25812 * libs/gst/bytestream/filepad.c:
25813 * libs/gst/bytestream/filepad.h:
25814 removing obsolete files
25816 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25818 * docs/gst/gstreamer-docs.sgml:
25819 * docs/libs/gstreamer-libs-docs.sgml:
25820 disabed additional index entries again, as this makes docs-gen just
25821 slow and they aren't useful yet
25822 * docs/libs/gstreamer-libs-sections.txt:
25823 little -section.txt cleanup for libs
25825 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
25827 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25828 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
25829 fix up some debugging
25830 (gst_base_transform_get_unit_size),
25831 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25832 (gst_base_transform_handle_buffer):
25833 * gst/base/gstbasetransform.h:
25834 handle and store timed NEWSEGMENT events so that subclasses that
25835 calculate time by counting samples have a segment_start time they
25836 need to add to their timestamps - see audioresample
25838 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25841 removed ';' from the end of macro defs
25842 * docs/gst/gstreamer-docs.sgml:
25843 * docs/gst/gstreamer-sections.txt:
25844 * docs/gst/tmpl/.cvsignore:
25846 * gst/gstelement.c: (gst_element_class_init),
25847 (gst_element_set_state), (activate_pads),
25848 (gst_element_save_thyself):
25849 * gst/gstevent.c: (gst_event_new_newsegment):
25851 * gst/gstiterator.c:
25852 * gst/gstiterator.h:
25855 * gst/gstutils.c: (gst_pad_query_convert):
25857 fixed parameter name mismatches between source, header and docs
25858 added some more docs, resolved the last batch of unused elements in
25859 docs (now someone needs to doc them)
25861 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
25863 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
25864 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
25865 don't walk through the plugins backwards. Where is all this
25866 reversed logic coming from ?
25868 2005-08-25 Wim Taymans <wim@fluendo.com>
25870 * gst/base/gstbasetransform.c: (gst_base_transform_init),
25871 (gst_base_transform_transform_size),
25872 (gst_base_transform_configure_caps),
25873 (gst_base_transform_get_unit_size),
25874 (gst_base_transform_buffer_alloc),
25875 (gst_base_transform_change_state):
25876 * gst/base/gstbasetransform.h:
25877 Cache caps unit_size.
25878 Make sure we cannot negotiate up and downstream at the
25881 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
25883 * gst/gst.c: (init_pre), (init_post):
25884 register the installed plugin path after the env var
25885 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
25886 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
25887 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
25888 directories, so the tests can prefer uninstalled over installed
25890 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
25892 * gst/base/gstbasetransform.h:
25897 2005-08-25 Wim Taymans <wim@fluendo.com>
25899 * gst/gstbin.c: (bin_bus_handler):
25900 Be a bit more conservative about the posted message.
25902 * gst/gstbus.c: (gst_bus_post):
25903 Some cleanups, warn wrong return values.
25905 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
25907 * check/gst/gstbin.c: (GST_START_TEST):
25908 * gst/gstbin.c: (bin_bus_handler):
25909 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
25910 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25911 (gst_message_new_warning), (gst_message_new_tag),
25912 (gst_message_new_state_changed), (gst_message_new_segment_start),
25913 (gst_message_new_segment_done), (gst_message_new_custom):
25914 * gst/gstmessage.h:
25915 * tools/gst-launch.c: (event_loop):
25916 * tools/gst-md5sum.c: (event_loop):
25917 Revert unpopular change for GST_MESSAGE_SRC to GObject.
25919 2005-08-25 Wim Taymans <wim@fluendo.com>
25921 * check/generic/states.c: (GST_START_TEST):
25922 Cleanup can be done at the end.
25924 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
25925 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25926 (gst_task_get_state), (gst_task_start), (gst_task_pause):
25927 Oh boy.. Thanks for finding this, Thomas.
25929 2005-08-25 Stefan Kost <ensonic@users.sf.net>
25931 * docs/gst/gstreamer.types:
25932 added missing types
25934 2005-08-25 Stefan Kost <ensonic@users.sf.net>
25936 * docs/gst/gstreamer-docs.sgml:
25937 * docs/gst/gstreamer-sections.txt:
25938 * docs/gst/tmpl/.cvsignore:
25940 * gst/gstiterator.c:
25942 * gst/registries/gstxmlregistry.h:
25943 added missing classes and symbols (123 more to go)
25944 removed removed symbols from section file
25945 fixed many doc-comments
25947 2005-08-24 Wim Taymans <wim@fluendo.com>
25949 * check/generic/states.c: (GST_START_TEST):
25950 Make sure all tasks are stopped.
25952 * check/gst/gstbin.c: (GST_START_TEST):
25953 Unref after usage for proper valgrinding.
25955 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
25956 Really wait for the task to stop before destroying the
25959 * gst/gstqueue.c: (gst_queue_sink_activate_push),
25960 (gst_queue_src_activate_push):
25961 Small cleanups. Don't stop the task when we did not start
25964 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
25965 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25966 (gst_task_get_state), (gst_task_start), (gst_task_pause),
25969 Protect the stream lock with the object lock.
25970 Disallow setting the stream lock when running.
25971 Add cleanup_all to wait for the threadpool to finish.
25972 Remove code to autoallocate a mutex if none was provided.
25973 Add _join() to wait for a task to stop.
25974 Protect the thread pool with a global lock.
25976 2005-08-24 Wim Taymans <wim@fluendo.com>
25978 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25979 (gst_base_sink_get_times), (gst_base_sink_do_sync),
25980 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
25981 * gst/base/gstbasesink.h:
25982 Handle newsegment events correctly.
25983 Drop buffers out of the segment range.
25985 2005-08-22 Andy Wingo <wingo@pobox.com>
25987 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
25988 macro, implements an interface and gstimplementsinterface for a
25991 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
25993 * check/Makefile.am:
25994 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
25995 add a test that does a bunch of state changes on elements
25996 needs some fixing for valgrind
25997 * check/states/sinks.c: (gst_object_suite):
26000 add prototype for gst_caps_is_equal_fixed
26002 * gst/gstregistrypool.c:
26005 2005-08-24 Andy Wingo <wingo@pobox.com>
26007 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26008 convert a negative value. Doesn't make much sense. Mostly this is
26009 here to force callers to ensure -1 maps to -1.
26011 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26013 * docs/pwg/advanced-types.xml:
26014 Well done to Michael for catching my deliberate introduction
26015 of this spelling mistake.
26016 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26017 * gst/gstelement.h:
26018 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26019 unlink pads before removing the element from the bin.
26021 2005-08-24 Andy Wingo <wingo@pobox.com>
26023 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26024 the same thing as GST_DEBUG=*:4.
26025 (parse_debug_level, parse_debug_category): New helper parsers.
26027 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26029 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26030 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26031 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26032 (gst_base_transform_buffer_alloc),
26033 (gst_base_transform_handle_buffer):
26034 use gboolean return values and pointers to size so we can use the
26035 full GST_BUFFER_SIZE range (guint) for buffer sizes
26036 use GstPadDirection for transform_caps
26037 * gst/base/gstbasetransform.h:
26038 rename get_size to get_unit_size since that's what it is
26039 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26040 use GstPadDirection for transform_caps
26041 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26043 cleanup and debugging
26045 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26047 * gst/gstelement.c: (gst_element_class_init),
26048 (gst_element_set_state), (activate_pads),
26049 (gst_element_save_thyself):
26050 * tools/gst-compprep.c: (main):
26051 * tools/gst-inspect.c: (print_element_properties_info):
26052 * tools/gst-xmlinspect.c: (print_element_properties):
26053 Fixed long standing mem-leak
26055 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26057 * check/gst/gstbin.c: (GST_START_TEST):
26058 * gst/gstbin.c: (bin_bus_handler):
26059 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26060 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26061 (gst_message_new_warning), (gst_message_new_tag),
26062 (gst_message_new_state_changed), (gst_message_new_segment_start),
26063 (gst_message_new_segment_done), (gst_message_new_custom):
26064 * gst/gstmessage.h:
26065 * tools/gst-launch.c: (event_loop):
26066 * tools/gst-md5sum.c: (event_loop):
26067 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26068 that applications can sensibly post custom messages with references
26069 to their own objects.
26071 2005-08-24 Andy Wingo <wingo@pobox.com>
26073 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26076 2005-08-24 Wim Taymans <wim@fluendo.com>
26078 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26079 (gst_base_transform_transform_caps),
26080 (gst_base_transform_transform_size),
26081 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26082 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26083 (gst_base_transform_handle_buffer):
26084 * gst/base/gstbasetransform.h:
26085 Many fixes and new features added by Thomas. Can now also do
26086 transforms with variable sizes and a custom fixate_caps function.
26088 2005-08-24 Wim Taymans <wim@fluendo.com>
26090 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26094 Cast to ClockTime before formatting to time.
26099 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26101 * check/gst-libs/controller.c: (GST_START_TEST),
26102 (gst_controller_suite):
26103 * docs/gst/tmpl/gstcaps.sgml:
26104 * docs/gst/tmpl/gstghostpad.sgml:
26105 * docs/gst/tmpl/gstquery.sgml:
26106 * docs/gst/tmpl/gstutils.sgml:
26107 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26108 (gst_object_sink_values), (gst_object_get_value_arrays),
26109 (gst_object_get_value_array):
26110 gracefully handle helper method calls to objects that are not beeing
26111 controlled, added test case for that
26113 2005-08-23 Wim Taymans <wim@fluendo.com>
26115 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26116 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26117 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26118 (gst_event_parse_qos), (gst_event_new_seek),
26119 (gst_event_parse_seek):
26121 Some more debugging output and doc cleanups.
26123 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26124 Fix possible deadlock.
26126 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26128 * docs/gst/gstreamer-docs.sgml:
26129 * docs/gst/gstreamer-sections.txt:
26130 * docs/gst/gstreamer.types:
26131 * docs/gst/tmpl/.cvsignore:
26134 * gst/gstelement.c:
26136 added 100 symbols from gstreamer-unused.txt to the right sections
26137 fixed more broken comments
26138 added GstBus to docs
26140 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26142 * docs/gst/gstreamer-sections.txt:
26143 * docs/gst/tmpl/.cvsignore:
26144 * docs/gst/tmpl/gstbin.sgml:
26145 * docs/gst/tmpl/gstbuffer.sgml:
26146 * gst/base/gstbasesrc.c:
26147 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26150 * tools/gst-launch.1.in:
26151 inlined more doc comments, added missing comments and fixed comments
26154 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26156 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26160 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26162 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26163 * gst/gststructure.h:
26164 add a fixate function for booleans; add a FIXME that these func
26165 names should probably be gst_structure_fixate_*
26167 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26169 * docs/gst/gstreamer-docs.sgml:
26170 * docs/gst/gstreamer-sections.txt:
26172 * gst/gstbin.c: (gst_bin_get_type),
26173 (gst_bin_child_proxy_get_child_by_index),
26174 (gst_bin_child_proxy_get_children_count),
26175 (gst_bin_child_proxy_init):
26176 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26177 (gst_child_proxy_get_child_by_index),
26178 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26179 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26180 (gst_child_proxy_get), (gst_child_proxy_set_property),
26181 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26182 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26183 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26184 * gst/gstchildproxy.h:
26185 * gst/parse/grammar.y:
26186 * tools/gst-inspect.c: (print_interfaces),
26187 (print_element_properties_info), (print_element_info):
26188 ported gstchildproxy over from 0.8
26189 ported gst-inspect fixes and enhancements over from 0.8
26191 2005-08-22 Wim Taymans <wim@fluendo.com>
26193 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26194 (gst_base_transform_handle_buffer):
26195 Also call the transform function if we have ANY caps.
26197 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26200 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26202 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26203 Don't pretend to handle seek events if the source is not seekable
26205 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26207 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26208 Remove extra parameter to debug output
26210 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26211 (gst_base_src_do_seek), (gst_base_src_activate_push):
26212 Fix seek event handling.
26214 * gst/gstpipeline.c: (gst_pipeline_change_state):
26215 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26216 (gst_queue_src_activate_push):
26217 Don't start the src pad task on FLUSH_STOP if the pad
26221 2005-08-22 Wim Taymans <wim@fluendo.com>
26223 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26224 Added check for gst_static_caps_get() refcounting.
26226 2005-08-22 Wim Taymans <wim@fluendo.com>
26228 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26229 Make _static_caps_get() refcounting sane.
26231 * gst/gstelement.c: (gst_element_set_state):
26232 Add g_return_val_if_fail() to protect against segfaults.
26234 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26236 * docs/gst/tmpl/gstevent.sgml:
26239 inlined remaining docs, added missing doc comments
26241 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26243 * check/gst/gstbin.c: (GST_START_TEST):
26244 since we don't know when preroll is done, use refcount range
26246 * gst/check/gstcheck.h:
26247 add macro for checking refcount range
26249 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26251 * check/Makefile.am:
26252 clean up environment for when registry gets built versus
26253 when actual tests are run; valgrind seems to not report
26254 leaks if GST_PLUGIN_PATH is set to some specific values
26255 * check/gst/gstbin.c: (GST_START_TEST):
26256 add more refcounting checks; maybe this exposes a
26258 * common/check.mak:
26259 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26260 * gst/check/gstcheck.h:
26261 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26262 (gst_bin_change_state):
26263 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26264 add/fix debugging/whitespace
26266 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26268 * check/gst/gstevent.c: (event_probe), (test_event),
26270 Er, don't call gst_bin_watch_for_state_change you idiot.
26272 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26274 * check/Makefile.am:
26275 Use CHECK_CFLAGS and CHECK_LIBS
26276 * check/gst/gstevent.c: (event_probe), (test_event),
26279 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26280 (gst_base_src_start), (gst_base_src_stop),
26281 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26282 (gst_base_src_change_state):
26283 Sprinkle gst_base_src_stop liberally around error paths to fix
26284 problems reusing a source after failed state changes.
26285 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26286 (helper_find_suggest), (gst_type_find_helper):
26287 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26289 * docs/gst/tmpl/gstevent.sgml:
26290 Migrate part of the docs from the SGML file. Wait for ensonic to
26291 tell me how I did it wrong ;)
26292 * tools/gst-typefind.c: (main):
26293 Extra robustness to state changes between files.
26295 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26297 * check/Makefile.am:
26298 don't valgrind the controller test - it's leaking - Stefan, HELP
26299 * gst/check/gstcheck.c: (gst_check_message_error),
26300 (gst_check_chain_func), (gst_check_setup_element),
26301 (gst_check_teardown_element), (gst_check_setup_src_pad),
26302 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26303 (gst_check_teardown_sink_pad):
26304 * gst/check/gstcheck.h:
26305 add a bunch of methods to set up elements, and src and sink pads
26306 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26307 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26310 * gst/gstmessage.c:
26312 whitespace/doc fixes
26314 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26316 * gst/gstelement.h:
26317 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26318 be handled by the application and not always printed as well
26320 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26322 * check/Makefile.am:
26324 * gst/check/gstcheck.c: (gst_check_message_error):
26325 * gst/check/gstcheck.h:
26326 add a fail_unless_equals_int
26327 add fail_unless for error messages
26329 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26331 * check/Makefile.am:
26333 * common/Makefile.am:
26334 * common/check.mak:
26336 factor out some of the common stuff so we can use it
26338 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26340 * check/Makefile.am:
26341 * check/gst/gstiterator.c: (GST_START_TEST):
26342 * check/gst/gstsystemclock.c: (GST_START_TEST),
26343 (gst_systemclock_suite):
26344 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26346 valgrind more tests
26348 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26350 * check/elements/.cvsignore:
26351 * check/elements/gstfakesrc.c:
26352 rename to name of element
26353 * check/elements/identity.c: (chain_func), (event_func),
26354 (setup_identity), (cleanup_identity), (GST_START_TEST),
26355 (identity_suite), (main):
26356 add a test for identity
26357 * check/Makefile.am:
26358 * pkgconfig/Makefile.am:
26359 * pkgconfig/gstreamer-check.pc.in:
26360 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26364 move the check stuff to a library that gets installed
26365 * check/gst-libs/controller.c: (GST_START_TEST):
26366 * check/gst-libs/gdp.c:
26367 * check/gst/gst.c: (GST_START_TEST):
26368 * check/gst/gstbin.c:
26369 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26370 * check/gst/gstbus.c:
26371 * check/gst/gstcaps.c: (GST_START_TEST):
26372 * check/gst/gstelement.c:
26373 * check/gst/gstghostpad.c:
26374 * check/gst/gstiterator.c:
26375 * check/gst/gstmessage.c:
26376 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26377 * check/gst/gstobject.c:
26378 * check/gst/gstpad.c: (GST_START_TEST):
26379 * check/gst/gststructure.c: (GST_START_TEST):
26380 * check/gst/gstsystemclock.c: (GST_START_TEST),
26381 (gst_systemclock_suite):
26382 * check/gst/gsttag.c: (gst_tag_suite):
26383 * check/gst/gstvalue.c:
26384 * check/pipelines/cleanup.c:
26385 * check/pipelines/simple_launch_lines.c:
26386 * check/states/sinks.c:
26387 change include statement
26389 * docs/gst/gstreamer-sections.txt:
26390 * docs/gst/tmpl/gstpad.sgml:
26391 document more pad stuff
26392 * gst/gstminiobject.c: (gst_mini_object_ref),
26393 (gst_mini_object_unref):
26396 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26398 * docs/gst/tmpl/gst.sgml:
26400 eliminate another tmpl file, fix spelling in the long-description
26402 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26404 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26405 (test_event), (timediff), (gstevents_suite):
26406 Should fix build on 64-bit arch's
26408 2005-08-18 Andy Wingo <wingo@pobox.com>
26410 Make sure that when a pipeline goes to PLAYING, that data has
26411 actually hit the sink.
26413 * check/states/sinks.c (test_sink): A sink that doesn't get any
26414 data shouldn't return SUCCESS for going to either PLAYING or
26415 PAUSED. Test also the return values on the way back down.
26417 * gst/gstelement.c (gst_element_set_state): When changing the
26418 state of an element currently changing state asynchronously, go to
26419 lost-state after commiting the pending state. Makes future calls
26420 to get_state continue to return ASYNC.
26422 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26423 ASYNC when going to PLAYING if we still don't have preroll, as can
26424 happen with live sources.
26426 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26428 * docs/pwg/advanced-types.xml:
26429 Hack long paragraph into 2 chunks as a workaround for buggy
26430 jadetex version in sid and breezy that loops infinitely and
26433 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26435 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26436 (test_event), (timediff), (gstevents_suite):
26437 Provide more error margin in clock measurements to allow for
26438 g_get_current_time inaccuracies.
26440 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26442 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26443 (test_event), (timediff), (gstevents_suite):
26444 Fix error message output so I might be able to tell why the
26445 test works here but fails on the build farm.
26447 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26449 * check/Makefile.am:
26450 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26451 (test_event), (timediff), (gstevents_suite), (main):
26454 * docs/design/part-seeking.txt:
26455 Spelling correction
26457 * docs/gst/tmpl/gstevent.sgml:
26458 * docs/gst/tmpl/gstfakesrc.sgml:
26461 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26462 Treat a buffer-without-newsegment the same as a receiving
26463 a newsegment not in time format, and disable syncing to the clock
26466 * gst/gstbus.c: (gst_bus_set_sync_handler):
26467 Assert if anyone tries to replace the existing sync_handler for bus,
26468 as only the owner should be setting it.
26471 Have a fixed set of custom event enums with events identified by
26472 their structure name (as in 0.8), rather than a free-for-all
26473 allowing collisions between enum values from different plugins.
26475 * gst/gstpad.c: (gst_pad_class_init):
26478 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26479 Handle out-of-band downstream events from the sending thread.
26481 2005-08-17 Andy Wingo <wingo@pobox.com>
26483 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26484 play-timeout==0 to mean no timeout at all. In that case, don't
26485 bother with a get_state or a warning, just return directly, even
26488 * gst/base/gstbasetransform.c: Debug changes.
26491 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26492 ensure bins post state change messages. A bit of a hack but I can't
26493 think of a way to avoid it.
26495 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26497 2005-08-16 Andy Wingo <wingo@pobox.com>
26499 * gst/base/gstadapter.h:
26500 * gst/base/gstadapter.c (gst_adapter_take): New function, like
26501 peek() but you own the data. Not terribly efficient atm.
26503 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26505 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26506 (gst_element_found_tags):
26508 Add two utility functions for tag handling.
26510 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26512 * docs/manual/advanced-dataaccess.xml:
26513 * docs/manual/basics-helloworld.xml:
26514 Fix docs to use _bin_add() before _link(), which fixes the examples
26515 with recent core versions (reported by Madhan Raj M
26516 <raj_madan@rediffmail.com>, #313199).
26518 2005-08-16 Wim Taymans <wim@fluendo.com>
26520 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26521 Added subtract checks.
26523 * docs/design/part-events.txt:
26524 Some more docs about newsegment
26526 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26529 * gst/gstcaps.c: (gst_caps_to_string):
26530 Add comments, cleanups.
26532 * gst/gstelement.c: (gst_element_save_thyself):
26535 * gst/gstvalue.c: (gst_value_collect_int_range),
26536 (gst_string_unwrap), (gst_value_union_int_int_range),
26537 (gst_value_union_int_range_int_range),
26538 (gst_value_intersect_int_int_range),
26539 (gst_value_intersect_int_range_int_range),
26540 (gst_value_intersect_double_double_range),
26541 (gst_value_intersect_double_range_double_range),
26542 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26543 (gst_value_subtract_int_range_int),
26544 (gst_value_subtract_double_range_double),
26545 (gst_value_subtract_double_range_double_range),
26546 (gst_value_subtract_from_list), (gst_value_subtract_list),
26547 (gst_value_can_compare), (gst_value_compare_fraction):
26548 Cleanups, add comments, remove unneeded asserts.
26550 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26552 * tools/gst-launch.c: (event_loop):
26553 don't convert NULL structures to strings
26555 2005-08-15 Stefan Kost <ensonic@users.sf.net>
26557 * docs/gst/gstreamer-sections.txt:
26558 made some defines private
26559 * docs/gst/tmpl/gstconfig.sgml:
26560 * docs/gst/tmpl/gstqueue.sgml:
26561 * docs/gst/tmpl/gsttaglist.sgml:
26562 * docs/gst/tmpl/gsttypes.sgml:
26563 * docs/gst/tmpl/gstutils.sgml:
26564 * docs/pwg/appendix-porting.xml:
26565 * gst/base/gstbasesink.h:
26566 * gst/base/gstbasesrc.c:
26567 * gst/base/gstbasesrc.h:
26568 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26569 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26570 * gst/gstelement.c: (gst_element_class_init):
26571 * gst/gstpad.c: (gst_pad_class_init):
26572 * gst/gstqueue.c: (gst_queue_class_init):
26573 * gst/gstxml.c: (gst_xml_class_init):
26574 documented all undocumented signal inline
26575 * libs/gst/controller/gst-controller.h:
26578 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26580 * docs/pwg/appendix-porting.xml:
26581 Document _set_link_function -> _set_setcaps_function.
26583 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26585 * check/Makefile.am:
26586 add a .check target for running the check
26587 * check/gst-libs/controller.c: (GST_START_TEST):
26589 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26590 complete checks for gstbuffer; would be nice if I could get the
26591 gcov stuff to work so I can see if I actually completed gstbuffer.c
26592 * check/gstcheck.h:
26593 add ASSERT_BUFFER_REFCOUNT
26595 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
26597 * docs/gst/gstreamer-sections.txt:
26598 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26600 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26601 spew out a warning if a tag that is already registered
26602 is re-registered, unless it is re-registered with a
26603 different type (#308438).
26605 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
26607 * docs/pwg/appendix-porting.xml:
26608 * docs/pwg/building-state.xml:
26609 Add some paragraphs about state changes in 0.9 to the PWG
26610 and the porting guide, in particular about the new meaning
26611 of GST_STATE_PAUSED and how to write state change functions
26612 with concurrent access by multiple threads in mind.
26614 2005-08-11 Stefan Kost <ensonic@users.sf.net>
26616 * docs/gst/gstreamer-docs.sgml:
26617 * docs/libs/gstreamer-libs-docs.sgml:
26618 added deprecation and since indexes
26619 * libs/gst/controller/gst-controller.c:
26620 * libs/gst/controller/gst-helper.c:
26624 2005-08-11 Wim Taymans <wim@fluendo.com>
26626 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26627 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26628 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26629 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26630 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26631 (gst_ghost_pad_set_target):
26632 Actually implement (re)setting the target on a ghostpad
26633 as described in the docs.
26635 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26637 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26638 Check whether GST_DEBUG_NO_COLOR environment variable is
26639 set and disable coloured debug output if that is the case.
26641 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26643 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26644 (gst_type_find_helper):
26645 The memory returned by gst_type_find_peek() needs to
26646 stay valid until the end of a typefind function, and
26647 typefind functions may keep results from different
26648 offsets around, so we can't just unref the buffer from
26649 the previous _peek(), but have to save all buffers
26650 returned by _peek() until typefinding is done and only
26653 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
26655 * docs/gst/gstreamer-sections.txt:
26657 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26659 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26661 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26662 Fix a pretty good memleak.
26664 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26666 * gst/gstiterator.h:
26667 Fix wrong include and 'make distcheck'.
26669 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26671 * gst/gstbin.c: (bin_bus_handler):
26672 Use gst_element_post_message() instead.
26674 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26676 * gst/base/gstadapter.h:
26677 * gst/base/gstbasesink.h:
26678 * gst/base/gstbasesrc.h:
26679 * gst/base/gstbasetransform.h:
26680 * gst/base/gstcollectpads.h:
26681 * gst/base/gstpushsrc.h:
26682 * gst/gstiterator.h:
26683 Add padding to our base elements' class and instance structs and
26684 to GstIterator (you will need to rebuild all plugins and apps!)
26686 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26688 * gst/gstbin.c: (bin_bus_handler):
26689 Make default message forwarding from child->bus to bin->bus
26690 threadsafe and make it not emit warnings if the parent has no bus.
26692 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26694 * gst/gstelement.c: (activate_pads):
26695 On paused->ready, set pad->caps to NULL, as is the documented
26696 behaviour in this state change. Fixes playback of series of
26697 media files when visualization is enabled in Totem.
26699 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26701 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26702 Allow NULL as filter-caps (which means "any").
26704 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26706 * docs/libs/gstreamer-libs-sections.txt:
26707 * libs/gst/controller/gst-controller.c:
26708 * libs/gst/controller/gst-controller.h:
26709 * libs/gst/controller/gst-helper.c:
26710 adding more entries to the docs and fix small doc-bugs
26712 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26714 * docs/gst/gstreamer-docs.sgml:
26715 * docs/gst/gstreamer-sections.txt:
26716 * docs/gst/gstreamer.types:
26717 * docs/gst/tmpl/gstbasesink.sgml:
26718 * docs/gst/tmpl/gstbasesrc.sgml:
26719 * docs/gst/tmpl/gstbasetransform.sgml:
26720 * docs/gst/tmpl/gstfakesrc.sgml:
26721 * gst/base/gstcollectpads.c:
26722 * gst/base/gstcollectpads.h:
26723 * libs/gst/controller/gst-controller.c:
26724 * libs/gst/controller/gst-controller.h:
26725 * libs/gst/controller/gst-helper.c:
26726 * libs/gst/controller/gst-interpolation.c:
26727 * libs/gst/controller/lib.c:
26728 added long/short desc for controller docs
26729 added collectpads base class docs
26730 added correct includes to base-class docs
26732 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26734 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26735 (gst_test_mono_source_set_property),
26736 (gst_test_mono_source_class_init), (GST_START_TEST),
26737 (gst_controller_suite):
26738 * docs/gst/gstreamer-docs.sgml:
26739 * docs/gst/gstreamer-sections.txt:
26740 * docs/gst/gstreamer.types:
26741 * docs/libs/gstreamer-libs-docs.sgml:
26742 * docs/libs/gstreamer-libs-sections.txt:
26743 * gst/base/gstadapter.c:
26744 * libs/gst/controller/gst-controller.c:
26745 (gst_controlled_property_new), (gst_controlled_property_free),
26746 (gst_controller_new_valist),
26747 (gst_controller_remove_properties_valist),
26748 (gst_controller_sink_values), (_gst_controller_finalize):
26749 * libs/gst/controller/gst-controller.h:
26750 * libs/gst/controller/gst-helper.c:
26751 (gst_object_control_properties), (gst_object_uncontrol_properties),
26752 (gst_object_get_controller), (gst_object_set_controller),
26753 (gst_object_sink_values), (gst_object_get_value_arrays),
26754 (gst_object_get_value_array):
26755 more tests (and fixes) for the controller
26756 more docs for the controller
26757 integrated companies docs for the adapter
26759 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
26761 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26762 (GST_START_TEST), (fakesrc_suite):
26763 add tests for sizetype
26765 2005-08-04 Andy Wingo <wingo@pobox.com>
26767 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26768 fixes buffer_alloc proxying among other things.
26770 * gst/base/gstbasetransform.c:
26771 * gst/base/gstbasetransform.h:
26772 Revert patch to gstbasetransform from 7-28 removing
26775 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26776 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26777 Semantics changed, should return not the size of the output buffer
26778 but the byte size of a buffer with a given caps.
26780 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
26782 (gst_base_transform_configure_caps): Don't set out_size here: (in,
26783 out) are not the pad caps until setcaps finishes.
26784 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
26785 not-in-place case as well. Deal with changing from in-place to
26786 not-in-place within calling pad_alloc_buffer. Still a bit
26787 concerned about the overhead here...
26789 2005-08-03 Andy Wingo <wingo@pobox.com>
26791 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
26792 fixating is an error.
26794 2005-08-04 Edward Hervey <edward@fluendo.com>
26796 * gst/base/gstadapter.h:
26797 Added gst_adapter_get_type() to the header
26799 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26801 * check/Makefile.am:
26802 * check/gst-libs/controller.c:
26803 * libs/gst/controller/gst-controller.c:
26804 (gst_controller_new_valist):
26805 added check test suite for the controller
26806 * gst/base/gstpushsrc.c:
26809 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26811 * docs/gst/Makefile.am:
26812 * docs/gst/gstreamer-docs.sgml:
26813 * docs/gst/gstreamer-sections.txt:
26814 * docs/gst/gstreamer.types:
26815 * docs/gst/tmpl/gstfakesrc.sgml:
26817 * gst/base/gstbasesink.c:
26818 * gst/base/gstbasesink.h:
26819 * gst/base/gstbasesrc.c:
26820 * gst/base/gstbasesrc.h:
26821 * gst/base/gstbasetransform.c:
26822 * gst/base/gstpushsrc.c:
26823 * gst/base/gstpushsrc.h:
26824 add short/long description docs to base classes
26825 add pushsrc to the docs
26826 remove consolidated doc fragments
26828 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26831 * docs/libs/Makefile.am:
26832 * docs/libs/gstreamer-libs-docs.sgml:
26833 * docs/libs/gstreamer-libs-sections.txt:
26834 * docs/libs/gstreamer-libs.types:
26835 * examples/Makefile.am:
26836 * examples/controller/.cvsignore:
26837 * examples/controller/Makefile.am:
26838 * examples/controller/audio-example.c: (main):
26839 * libs/gst/Makefile.am:
26840 * libs/gst/controller/.cvsignore:
26841 * libs/gst/controller/Makefile.am:
26842 * libs/gst/controller/gst-controller.c:
26843 (on_object_controlled_property_changed), (gst_timed_value_compare),
26844 (gst_timed_value_find),
26845 (gst_controlled_property_set_interpolation_mode),
26846 (gst_controlled_property_new), (gst_controlled_property_free),
26847 (gst_controller_find_controlled_property),
26848 (gst_controller_new_valist), (gst_controller_new),
26849 (gst_controller_remove_properties_valist),
26850 (gst_controller_remove_properties), (gst_controller_set),
26851 (gst_controller_set_from_list), (gst_controller_unset),
26852 (gst_controller_get), (gst_controller_get_all),
26853 (gst_controller_sink_values), (gst_controller_get_value_arrays),
26854 (gst_controller_get_value_array),
26855 (gst_controller_set_interpolation_mode),
26856 (_gst_controller_finalize), (_gst_controller_init),
26857 (_gst_controller_class_init), (gst_controller_get_type):
26858 * libs/gst/controller/gst-controller.h:
26859 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
26860 (g_object_uncontrol_properties), (g_object_get_controller),
26861 (g_object_set_controller), (g_object_sink_values),
26862 (g_object_get_value_arrays), (g_object_get_value_array):
26863 * libs/gst/controller/gst-interpolation.c:
26864 (gst_controlled_property_find_timed_value_node),
26865 (interpolate_none_get), (interpolate_trigger_get),
26866 (interpolate_trigger_get_value_array):
26867 * libs/gst/controller/lib.c: (gst_controller_init):
26868 * pkgconfig/Makefile.am:
26869 * pkgconfig/gstreamer-control-uninstalled.pc.in:
26870 * pkgconfig/gstreamer-control.pc.in:
26871 * testsuite/Makefile.am:
26872 * testsuite/controller/.cvsignore:
26873 * testsuite/controller/Makefile.am:
26874 * testsuite/controller/interpolator.c: (main):
26875 added controller code
26876 removed dparam pc files
26878 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
26879 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
26880 (gst_collectpads_stop):
26881 Broadcast the condition when shutting down, to make sure we wake all
26882 threads up. Shut down pads on finalize, for safety.
26884 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
26885 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26886 (gst_base_transform_handle_buffer),
26887 (gst_base_transform_change_state):
26888 Handle PAUSED->READY->PAUSED transition after negotiation
26890 * gst/gstmessage.c: (gst_message_init):
26891 Extra piece of debug for new messages.
26893 2005-08-01 Stefan Kost <ensonic@users.sf.net>
26896 * docs/gst/tmpl/gstbasesrc.sgml:
26897 * docs/gst/tmpl/gstelement.sgml:
26898 * docs/gst/tmpl/gstevent.sgml:
26899 * docs/gst/tmpl/gstfakesrc.sgml:
26900 * docs/gst/tmpl/gstformat.sgml:
26901 * docs/gst/tmpl/gstghostpad.sgml:
26902 * docs/gst/tmpl/gstpad.sgml:
26903 * docs/gst/tmpl/gstquery.sgml:
26904 * docs/gst/tmpl/gststructure.sgml:
26905 * docs/gst/tmpl/gsttaglist.sgml:
26906 * docs/gst/tmpl/gstvalue.sgml:
26907 * docs/libs/gstreamer-libs-docs.sgml:
26908 * docs/libs/gstreamer-libs-sections.txt:
26909 * docs/libs/gstreamer-libs.types:
26910 * libs/gst/Makefile.am:
26911 * libs/gst/control/.cvsignore:
26912 * libs/gst/control/Makefile.am:
26913 * libs/gst/control/control.c:
26914 * libs/gst/control/control.h:
26915 * libs/gst/control/dparam.c:
26916 * libs/gst/control/dparam.h:
26917 * libs/gst/control/dparam_smooth.c:
26918 * libs/gst/control/dparam_smooth.h:
26919 * libs/gst/control/dparamcommon.h:
26920 * libs/gst/control/dparammanager.c:
26921 * libs/gst/control/dparammanager.h:
26922 * libs/gst/control/dplinearinterp.c:
26923 * libs/gst/control/dplinearinterp.h:
26924 * libs/gst/control/unitconvert.c:
26925 * libs/gst/control/unitconvert.h:
26926 * testsuite/Makefile.am:
26927 * testsuite/dynparams/.cvsignore:
26928 * testsuite/dynparams/Makefile.am:
26929 * testsuite/dynparams/dparamstest.c:
26930 * tools/Makefile.am:
26931 * tools/gst-inspect.c: (print_element_info), (main):
26932 * tools/gst-xmlinspect.c: (print_element_info), (main):
26933 deactivate and remove dparams (libgstcontrol)
26935 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
26937 * gst/elements/gsttypefindelement.c:
26938 (gst_type_find_element_have_type), (gst_type_find_element_init),
26939 (stop_typefinding), (gst_type_find_element_handle_event),
26940 (gst_type_find_element_chain), (gst_type_find_element_getrange):
26941 * gst/elements/gsttypefindelement.h:
26942 Set caps on all outgoing buffers, not just the first one.
26944 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
26946 * gst/elements/gsttypefindelement.c:
26947 (gst_type_find_element_have_type),
26948 (gst_type_find_element_check_set_buffer_caps),
26949 (gst_type_find_element_init), (stop_typefinding),
26950 (gst_type_find_element_handle_event),
26951 (gst_type_find_element_chain), (gst_type_find_element_getrange):
26952 * gst/elements/gsttypefindelement.h:
26953 Set caps on first outgoing buffer when we've found the type.
26955 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
26957 * docs/gst/gstreamer-docs.sgml:
26958 * docs/gst/gstreamer-sections.txt:
26959 * docs/gst/tmpl/gstscheduler.sgml:
26960 * docs/gst/tmpl/gstschedulerfactory.sgml:
26961 Remove some old cruft from docs.
26963 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
26966 Fix inline docs for GstPadLinkReturn.
26968 * gst/gststructure.c: (gst_structure_has_name):
26969 * gst/gststructure.h:
26970 * docs/gst/gstreamer-sections.txt:
26971 New API: gst_structure_has_name().
26973 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
26976 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
26977 and _LARGEFILE_SOURCE in config.h as required. Do not
26978 export those flags in our .pc files any longer (#142209).
26980 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
26982 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
26983 (gst_file_sink_do_seek), (gst_file_sink_event),
26984 (gst_file_sink_get_current_offset), (gst_file_sink_render):
26985 Redo seek/tell calls with large file support in mind; add some
26986 debugging messages; add log message that tells us when large
26987 file support is unavailable or not enabled for some reason.
26989 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
26990 Add log message that tells us when large file support
26991 is unavailable or not enabled for some reason.
26993 2005-07-29 Wim Taymans <wim@fluendo.com>
26995 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
26996 Added test for removing an element with ghostpad from a bin.
26997 Fixed test as current implementation does the right thing.
26999 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27000 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27001 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27002 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27003 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27004 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27005 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27006 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27007 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27008 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27009 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27010 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27011 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27012 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27013 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27014 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27015 * gst/gstghostpad.h:
27016 Clean up ghostpads, remove properties for internal stuff.
27019 Prepare for switching targets, not all use cases work yet.
27021 2005-07-29 Wim Taymans <wim@fluendo.com>
27023 * docs/design/part-gstghostpad.txt:
27026 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27027 (gst_bin_remove_func):
27028 Unlinking pads while holding the bin LOCK is not a good
27031 * gst/gstpad.c: (gst_pad_class_init),
27032 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27033 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27034 No prob setting template after creating the pad.
27036 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27038 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27039 (gst_bus_peek), (gst_bus_source_dispatch),
27040 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27041 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27042 gst_bus_poll may be called from other threads. Handle
27043 this nicely by not making poll_data disappear off the
27044 stack once gst_bus_poll returns.
27045 gst_bus_peek now increments the refcount on the returned
27048 2005-07-29 Wim Taymans <wim@fluendo.com>
27050 * docs/design/part-gstghostpad.txt:
27051 Overview of current GhostPad datastructures and use
27052 cases for changing the target.
27054 2005-07-28 Wim Taymans <wim@fluendo.com>
27056 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27057 Added checks for hierarchy consistency whan adding linked
27060 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27061 Added check to test element scheduling without bin/pipeline.
27063 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27064 First add elements to bin, then link.
27066 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27067 (gst_bin_remove_func):
27068 Unlink pads from elements added/removed from bin to maintain
27069 hierarchy consistency.
27071 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27073 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27074 (gst_base_transform_handle_buffer):
27075 * gst/base/gstbasetransform.h:
27076 Remove broken delay_configure (fixes renegotiation of software
27077 scaling pipelines); remove some leftover printf()s.
27079 2005-07-28 Wim Taymans <wim@fluendo.com>
27081 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27082 Added some more tests for wrong hierarchy
27084 * docs/design/part-overview.txt:
27087 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27090 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27091 (gst_element_dispose):
27092 Some more cleanups.
27094 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27095 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27096 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27097 (gst_pad_set_caps), (gst_pad_send_event):
27098 Check for correct hierarchy when linking pads. Moving to
27099 strict requirement for ghostpads when linking elements in
27103 Clean ups. Added WRONG_HIERARCHY return value.
27105 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27107 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27108 Better debug if no transform is possible.
27110 2005-07-27 Wim Taymans <wim@fluendo.com>
27112 * docs/random/wtay/network-transp:
27113 Some old doc I had.
27115 2005-07-27 Wim Taymans <wim@fluendo.com>
27117 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27118 (gst_dp_event_from_packet):
27119 Fix serialization of seek events.
27121 2005-07-27 Wim Taymans <wim@fluendo.com>
27123 * check/gst-libs/gdp.c: (GST_START_TEST):
27124 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27125 Fix compilation and fix event serialization.
27127 2005-07-27 Wim Taymans <wim@fluendo.com>
27130 * docs/design/part-TODO.txt:
27131 * docs/design/part-events.txt:
27134 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27135 (gst_base_sink_event), (gst_base_sink_do_sync),
27136 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27137 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27138 (gst_base_src_do_seek), (gst_base_src_event_handler),
27139 (gst_base_src_loop):
27140 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27141 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27142 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27143 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27144 (gst_base_transform_set_passthrough),
27145 (gst_base_transform_is_passthrough):
27146 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27147 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27153 * gst/gstelement.c: (gst_element_seek):
27154 * gst/gstelement.h:
27155 Update gst_element_seek.
27157 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27158 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27159 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27160 (gst_event_new_eos), (gst_event_new_newsegment),
27161 (gst_event_parse_newsegment), (gst_event_new_tag),
27162 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27163 (gst_event_parse_qos), (gst_event_new_seek),
27164 (gst_event_parse_seek), (gst_event_new_navigation):
27166 Make GstEvent use GstStructure. Add parsing code, make sure the
27167 API is sufficiently generic.
27168 Mark possible directions of events and serialization.
27170 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27171 (_gst_message_copy), (gst_message_new_segment_start),
27172 (gst_message_new_segment_done), (gst_message_new_custom),
27173 (gst_message_parse_segment_start),
27174 (gst_message_parse_segment_done):
27177 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27178 (gst_pad_set_caps), (gst_pad_send_event):
27179 Update for new events.
27180 Catch events sent in wrong directions.
27182 * gst/gstqueue.c: (gst_queue_link_src),
27183 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27184 (gst_queue_handle_src_query):
27189 Remove event code from this file.
27191 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27192 (gst_dp_event_from_packet):
27195 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27197 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27198 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27199 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27200 Make debugging actually useful.
27202 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27204 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27205 (gst_pad_fixate_caps):
27206 Implement default fixation once again, so that gst_pad_fixate()
27207 actually does anything at all. This probably needs to be some
27208 sort of a last resort, and use profile-based fixation first, but
27209 since that doesn't exist yet, this is the best we have. Fixes
27210 visualization in Totem.
27212 2005-07-22 Wim Taymans <wim@fluendo.com>
27214 * docs/design/part-events.txt:
27217 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27218 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27219 (gst_base_sink_activate_pull):
27220 Some more comments.
27222 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27223 (gst_fake_src_create):
27224 Fix handoff marshall.
27226 * gst/elements/gstidentity.c: (gst_identity_class_init),
27227 (gst_identity_transform_ip):
27228 We're a real inplace element.
27230 * gst/gstbus.c: (gst_bus_post):
27231 Added some comments.
27233 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27234 * tests/muxing/case1.c: (main):
27235 * tests/sched/dynamic-pipeline.c: (main):
27236 * tests/sched/interrupt1.c: (main):
27237 * tests/sched/interrupt2.c: (main):
27238 * tests/sched/interrupt3.c: (main):
27239 * tests/sched/runxml.c: (main):
27240 * tests/sched/sched-stress.c: (main):
27241 * tests/seeking/seeking1.c: (event_received), (main):
27242 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27244 * tests/threadstate/threadstate3.c: (main):
27245 * tests/threadstate/threadstate4.c: (main):
27246 * tests/threadstate/threadstate5.c: (main):
27249 2005-07-21 Wim Taymans <wim@fluendo.com>
27251 * docs/design/part-seeking.txt:
27252 Some small additions.
27254 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27255 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27256 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27257 * gst/base/gstbasesink.h:
27258 discont values are gint64, handle the math correctly.
27260 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27261 Make the basesrc report error if the source pad is not linked.
27263 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27264 (gst_queue_loop), (gst_queue_handle_src_query),
27265 (gst_queue_src_activate_push):
27266 Make queue collect data even if the srcpad is not linked.
27267 Start pushing out data as soon as it is linked.
27269 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27271 Added gst_flow_get_name() to ease error reporting.
27273 2005-07-20 Wim Taymans <wim@fluendo.com>
27275 * gst/gstmessage.c: (gst_message_new_segment_start),
27276 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27277 (gst_message_parse_segment_done):
27278 * gst/gstmessage.h:
27279 Added a bunch of messages for advanced seeking.
27281 * gst/parse/grammar.y:
27282 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27283 (gst_dpman_state_changed):
27284 Fix some new-pad -> pad-added signals
27286 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27288 * docs/manual/appendix-porting.xml:
27289 * docs/pwg/appendix-porting.xml:
27290 Document new-pad/state-change signal renames and the FixedList
27293 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27295 * docs/manual/advanced-autoplugging.xml:
27296 * docs/manual/basics-helloworld.xml:
27297 * docs/manual/basics-pads.xml:
27298 * docs/random/ds/0.9-suggested-changes:
27299 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27300 * gst/gstelement.h:
27304 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27305 (gst_structure_parse_array), (gst_structure_parse_value):
27306 * gst/gstvalue.c: (gst_type_is_fixed),
27307 (gst_value_list_prepend_value), (gst_value_list_append_value),
27308 (gst_value_list_get_size), (gst_value_list_get_value),
27309 (gst_value_transform_array_string), (gst_value_serialize_array),
27310 (gst_value_deserialize_array), (gst_value_intersect_array),
27311 (gst_value_is_fixed), (_gst_value_initialize):
27313 GstElement::new-pad -> pad-added, GstElement::state-change ->
27314 state-changed, GstValueFixedList -> GstValueArray, add format and
27315 flags as their own arguments in gst_element_seek() (should improve
27316 "bindeability"), remove function generators since they don't work
27317 under a whole bunch of compilers (they were deprecated already
27320 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27322 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27323 (_gst_debug_register_funcptr):
27325 Fix illegal cast on some platforms (#309253).
27327 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27329 * gst/gstmessage.c: (gst_message_new_custom):
27330 * gst/gstmessage.h:
27331 Add _new_custom, make _new_application a macro to _new_custom.
27333 2005-07-20 Wim Taymans <wim@fluendo.com>
27335 * gst/base/gstbasesrc.c: (gst_base_src_init),
27336 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27337 * gst/base/gstbasesrc.h:
27338 Add a gboolean to decide when to push out a discont.
27340 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27341 (gst_queue_loop), (gst_queue_handle_src_query),
27342 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27343 (gst_queue_set_property), (gst_queue_get_property):
27346 * tests/threadstate/threadstate1.c: (main):
27347 Make a thread test compile and run... very silly..
27350 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27352 * docs/manual/appendix-porting.xml:
27353 Mention removal of libgstgconf-0.9.la and existence of gconf
27356 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27358 * docs/pwg/advanced-clock.xml:
27359 * docs/pwg/appendix-porting.xml:
27360 * docs/pwg/intro-preface.xml:
27361 * docs/pwg/other-base.xml:
27362 * docs/pwg/other-manager.xml:
27363 * docs/pwg/other-nton.xml:
27364 * docs/pwg/other-ntoone.xml:
27365 * docs/pwg/other-oneton.xml:
27366 * docs/pwg/pwg.xml:
27367 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27368 demuxer), remove n-to-n (was never written), fix some code examples
27369 and links and update the porting section to include all this.
27371 2005-07-19 Wim Taymans <wim@fluendo.com>
27373 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27374 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27375 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27376 (gst_queue_src_activate_push), (gst_queue_change_state),
27377 (gst_queue_get_property):
27379 Propagate GstFlowReturn more intelligently upstream and output
27380 an ERROR/EOS when streaming stopped due to fatal error.
27382 2005-07-19 Wim Taymans <wim@fluendo.com>
27384 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27385 Don't block forever for the state change to complete, the
27386 pipeline already did with a sensible timeout.
27388 2005-07-19 Wim Taymans <wim@fluendo.com>
27390 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27391 Make sure we never call the create function is we
27394 2005-07-19 Andy Wingo <wingo@pobox.com>
27396 * gst/parse/parse.l: Attempt to solve bug #172815.
27398 2005-07-19 Wim Taymans <wim@fluendo.com>
27400 * docs/design/part-clocks.txt:
27401 * docs/design/part-events.txt:
27402 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27403 Small docs updates.
27404 Only update the seeking values when we are not
27407 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27409 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27410 Oops, ignore the result of gst_pad_push_event here.
27412 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27414 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27415 (gst_base_src_activate_push):
27416 Send discont event from the loop function, as pads
27417 aren't activated yet in the activate_push handler.
27419 * gst/gstbin.c: (bin_bus_handler):
27420 Don't leak element name.
27422 2005-07-18 Andy Wingo <wingo@pobox.com>
27424 * configure.ac: Use AS_LIBTOOL_TAGS.
27426 2005-07-18 Wim Taymans <wim@fluendo.com>
27428 * docs/gst/gstreamer.types:
27429 Remove deleted types.
27431 2005-07-18 Wim Taymans <wim@fluendo.com>
27433 * check/elements/gstfakesrc.c: (GST_START_TEST):
27436 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27437 (init_popt_callback):
27439 * gst/gst_private.h:
27440 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27441 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27444 * gst/gstconfig.h.in:
27445 * gst/gstelement.c: (gst_element_class_init),
27446 (gst_element_set_base_time), (gst_element_get_base_time),
27447 (iterator_fold_with_resync), (gst_element_change_state),
27448 (gst_element_dispose), (gst_element_get_bus):
27449 * gst/gstelement.h:
27450 * gst/gstelementfactory.h:
27451 * gst/gsterror.c: (_gst_core_errors_init):
27454 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27456 * gst/gstinfo.c: (_gst_debug_init):
27457 * gst/gstmessage.c: (_gst_message_copy):
27458 * gst/gstmessage.h:
27459 * gst/gstminiobject.h:
27462 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27463 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27466 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27467 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27468 (gst_pipeline_get_last_stream_time):
27469 * gst/gstpipeline.h:
27470 * gst/gstpluginfeature.h:
27472 * gst/gstscheduler.c:
27473 * gst/gstscheduler.h:
27474 * gst/gststructure.h:
27475 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27476 (gst_task_finalize), (gst_task_func), (gst_task_create),
27477 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27478 (gst_task_stop), (gst_task_pause):
27480 * gst/gsttypefind.h:
27482 * gst/registries/gstlibxmlregistry.c: (load_feature),
27483 (gst_xml_registry_load), (gst_xml_registry_save_feature):
27484 * gst/registries/gstxmlregistry.c:
27485 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27486 * gst/schedulers/threadscheduler.c:
27487 * libs/gst/control/dparammanager.h:
27488 * tools/gst-inspect.c: (print_element_list),
27489 (print_plugin_features), (print_element_features):
27490 * tools/gst-xmlinspect.c: (print_element_list),
27491 (print_plugin_info), (main):
27492 Removed plugable schedulers.
27493 Removed Scheduler/Manager from elements.
27494 Removed gsttypes.h, rearranged includes.
27495 Removed dependency pad<->element, element<>pipeline, and
27496 various others, fix includes.
27497 implement gst_pad_get_parent() with gst_object_get_parent()
27498 Make GstTask sefcontained.
27499 Fix _get_state() on GstBin, it did not return ASYNC with a 0
27501 Fix endless loop in iterator_fold_with_resync.
27504 2005-07-18 Wim Taymans <wim@fluendo.com>
27510 2005-07-18 Wim Taymans <wim@fluendo.com>
27513 No more cothreads.h
27515 2005-07-18 Wim Taymans <wim@fluendo.com>
27519 Let's remove these.
27521 2005-07-18 Wim Taymans <wim@fluendo.com>
27523 * docs/design/part-dynamic.txt:
27524 * docs/design/part-events.txt:
27525 * docs/design/part-seeking.txt:
27526 Some more docs in the works.
27528 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27529 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27530 (gst_base_transform_setcaps), (gst_base_transform_get_size),
27531 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27532 (gst_base_transform_handle_buffer),
27533 (gst_base_transform_sink_activate_push),
27534 (gst_base_transform_src_activate_pull),
27535 (gst_base_transform_set_passthrough),
27536 (gst_base_transform_is_passthrough):
27539 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27542 * gst/gstevent.c: (gst_event_finalize):
27545 * gst/gstutils.c: (gst_element_unlink),
27546 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27547 (gst_pad_proxy_setcaps):
27549 Add _get_parent_element() to get a pads parent as an element.
27551 2005-07-18 Wim Taymans <wim@fluendo.com>
27553 * check/gst/gstbin.c: (GST_START_TEST):
27556 2005-07-18 Wim Taymans <wim@fluendo.com>
27558 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27559 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27560 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27561 (gst_base_sink_event), (gst_base_sink_do_sync),
27562 (gst_base_sink_chain), (gst_base_sink_loop),
27563 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27564 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27566 Fix logic for returning ASYNC when not prerolled.
27568 2005-07-18 Wim Taymans <wim@fluendo.com>
27570 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27571 Fix nasty refcount bug.
27573 2005-07-16 Philippe Khalaf <burger@speedy.org>
27575 * gst/elements/gstfdsrc.c:
27576 * gst/elements/gstfdsrc.h:
27577 * gst/elements/gstelements.c:
27578 * gst/elements/Makefile.am:
27579 Ported fdsrc to 0.9.
27581 2005-07-16 Wim Taymans <wim@fluendo.com>
27583 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27584 (gst_base_sink_do_sync):
27587 2005-07-16 Wim Taymans <wim@fluendo.com>
27589 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27590 (gst_base_sink_event), (gst_base_sink_get_times),
27591 (gst_base_sink_do_sync), (gst_base_sink_change_state):
27592 * gst/base/gstbasesink.h:
27593 Store and use discont values when syncing buffers as described
27596 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27597 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27598 (gst_base_src_activate_push):
27599 Push discont event when starting.
27601 * gst/elements/gstidentity.c: (gst_identity_transform):
27604 * gst/gstbin.c: (gst_bin_change_state):
27605 Small cleanups in base_time distribution.
27607 * gst/gstelement.c: (gst_element_set_base_time),
27608 (gst_element_get_base_time), (gst_element_change_state):
27609 * gst/gstelement.h:
27610 Added methods for the base_time of the element.
27613 * gst/gstpipeline.c: (gst_pipeline_send_event),
27614 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27615 (gst_pipeline_get_last_stream_time):
27616 * gst/gstpipeline.h:
27618 Handle seeking as described in design doc, remove stream_time
27620 Cleanups clock and stream_time selection code. Added accessors
27621 for the stream_time.
27624 2005-07-16 Andy Wingo <wingo@pobox.com>
27626 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27629 2005-07-16 Wim Taymans <wim@fluendo.com>
27631 * check/gst/gstbin.c: (GST_START_TEST):
27632 Make elements silent as the deep_notify refs the
27633 parent, which might make the test fail.
27635 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27636 Don't hold the lock for too long.
27638 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
27640 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27641 Don't unref the caps we passed to gst_caps_make_writable() after
27642 passing them. gst_caps_make_writable() will do that for us.
27644 2005-07-15 Andy Wingo <wingo@pobox.com>
27646 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27649 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27650 own marshalling function for the handoff signal. Properly type the
27651 buffer as a buffer. Fixes some warnings. Should do a more general
27653 (gst_identity_class_init): Plug into the right marshaller.
27655 2005-07-15 Wim Taymans <wim@fluendo.com>
27657 * docs/design/part-TODO.txt:
27658 * docs/design/part-clocks.txt:
27659 * docs/design/part-element-sink.txt:
27660 * docs/design/part-events.txt:
27661 * docs/design/part-gstpipeline.txt:
27662 Updated docs, mostly DISCONT related.
27664 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
27666 * docs/pwg/building-pads.xml:
27667 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27669 2005-07-15 Andy Wingo <wingo@pobox.com>
27671 * tools/gst-typefind.c: Update, add copyright block.
27673 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27674 Normalize and truncate caps before fixation.
27677 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27678 discards all but the first structure from its argument.
27680 2005-07-15 Wim Taymans <wim@fluendo.com>
27682 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27683 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27684 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27685 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27686 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27687 (gst_base_transform_chain), (gst_base_transform_change_state),
27688 (gst_base_transform_set_passthrough),
27689 (gst_base_transform_is_passthrough):
27690 * gst/base/gstbasetransform.h:
27691 Make passthrough work using the bufferpools.
27692 Changed API a bit, subclasses have to write into a buffer
27693 provided by the base class.
27694 More debug info in nego functions.
27696 * gst/elements/gstidentity.c: (gst_identity_init),
27697 (gst_identity_transform):
27698 Port to new base class.
27700 2005-07-15 Wim Taymans <wim@fluendo.com>
27702 * gst/gstmessage.c: (gst_message_new_state_changed):
27703 * tools/gst-launch.c: (event_loop), (main):
27704 Totally dump messages in -launch with the -m option.
27705 Fix message name for State messages,
27707 2005-07-14 Wim Taymans <wim@fluendo.com>
27709 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27710 Post error messages on errors.
27712 2005-07-14 Wim Taymans <wim@fluendo.com>
27714 * gst/gstcaps.c: (gst_caps_do_simplify):
27718 Define error for stream stopped.
27720 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27721 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27722 Do proper return values.
27724 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27725 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27726 (gst_pad_get_range):
27727 Better return values.
27730 Reorganise return values, add macro to check for fatal errors.
27732 * gst/gstqueue.c: (gst_queue_chain):
27733 Return proper GstFlowReturn values,
27735 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
27737 * docs/gst/gstreamer-sections.txt:
27738 * docs/gst/gstreamer.types:
27739 * docs/gst/tmpl/gst.sgml:
27740 * docs/gst/tmpl/gstbasesink.sgml:
27741 * docs/gst/tmpl/gstbasesrc.sgml:
27742 * docs/gst/tmpl/gstbasetransform.sgml:
27743 * docs/gst/tmpl/gstbin.sgml:
27744 * docs/gst/tmpl/gstbuffer.sgml:
27745 * docs/gst/tmpl/gstcaps.sgml:
27746 * docs/gst/tmpl/gstclock.sgml:
27747 * docs/gst/tmpl/gstcompat.sgml:
27748 * docs/gst/tmpl/gstconfig.sgml:
27749 * docs/gst/tmpl/gstelement.sgml:
27750 * docs/gst/tmpl/gstelementdetails.sgml:
27751 * docs/gst/tmpl/gstelementfactory.sgml:
27752 * docs/gst/tmpl/gstenumtypes.sgml:
27753 * docs/gst/tmpl/gsterror.sgml:
27754 * docs/gst/tmpl/gstevent.sgml:
27755 * docs/gst/tmpl/gstfakesink.sgml:
27756 * docs/gst/tmpl/gstfakesrc.sgml:
27757 * docs/gst/tmpl/gstfilesink.sgml:
27758 * docs/gst/tmpl/gstfilesrc.sgml:
27759 * docs/gst/tmpl/gstfilter.sgml:
27760 * docs/gst/tmpl/gstformat.sgml:
27761 * docs/gst/tmpl/gstghostpad.sgml:
27762 * docs/gst/tmpl/gstimplementsinterface.sgml:
27763 * docs/gst/tmpl/gstindex.sgml:
27764 * docs/gst/tmpl/gstindexfactory.sgml:
27765 * docs/gst/tmpl/gstinfo.sgml:
27766 * docs/gst/tmpl/gstiterator.sgml:
27767 * docs/gst/tmpl/gstmacros.sgml:
27768 * docs/gst/tmpl/gstmemchunk.sgml:
27769 * docs/gst/tmpl/gstminiobject.sgml:
27770 * docs/gst/tmpl/gstobject.sgml:
27771 * docs/gst/tmpl/gstpad.sgml:
27772 * docs/gst/tmpl/gstpadtemplate.sgml:
27773 * docs/gst/tmpl/gstparse.sgml:
27774 * docs/gst/tmpl/gstpipeline.sgml:
27775 * docs/gst/tmpl/gstplugin.sgml:
27776 * docs/gst/tmpl/gstpluginfeature.sgml:
27777 * docs/gst/tmpl/gstquery.sgml:
27778 * docs/gst/tmpl/gstqueue.sgml:
27779 * docs/gst/tmpl/gstregistry.sgml:
27780 * docs/gst/tmpl/gstregistrypool.sgml:
27781 * docs/gst/tmpl/gstscheduler.sgml:
27782 * docs/gst/tmpl/gstschedulerfactory.sgml:
27783 * docs/gst/tmpl/gststructure.sgml:
27784 * docs/gst/tmpl/gstsystemclock.sgml:
27785 * docs/gst/tmpl/gsttaglist.sgml:
27786 * docs/gst/tmpl/gsttagsetter.sgml:
27787 * docs/gst/tmpl/gsttrace.sgml:
27788 * docs/gst/tmpl/gsttrashstack.sgml:
27789 * docs/gst/tmpl/gsttypefind.sgml:
27790 * docs/gst/tmpl/gsttypefindfactory.sgml:
27791 * docs/gst/tmpl/gsttypes.sgml:
27792 * docs/gst/tmpl/gsturihandler.sgml:
27793 * docs/gst/tmpl/gsturitype.sgml:
27794 * docs/gst/tmpl/gstutils.sgml:
27795 * docs/gst/tmpl/gstvalue.sgml:
27796 * docs/gst/tmpl/gstversion.sgml:
27797 * docs/gst/tmpl/gstxml.sgml:
27798 * docs/libs/tmpl/gstcontrol.sgml:
27799 * docs/libs/tmpl/gstdataprotocol.sgml:
27800 * docs/libs/tmpl/gstdparam.sgml:
27801 * docs/libs/tmpl/gstdplinint.sgml:
27802 * docs/libs/tmpl/gstdpman.sgml:
27803 * docs/libs/tmpl/gstdpsmooth.sgml:
27804 * docs/libs/tmpl/gstgetbits.sgml:
27805 * docs/libs/tmpl/gstunitconvert.sgml:
27806 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27807 (gst_push_src_base_init), (gst_push_src_class_init),
27808 (gst_push_src_init), (gst_push_src_create):
27809 * gst/base/gstpushsrc.h:
27810 * gst/elements/gstelements.c:
27811 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27812 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27813 (gst_fake_sink_init), (gst_fake_sink_set_property),
27814 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27815 (gst_fake_sink_event), (gst_fake_sink_preroll),
27816 (gst_fake_sink_render), (gst_fake_sink_change_state):
27817 * gst/elements/gstfakesink.h:
27818 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27819 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27820 (gst_fake_src_base_init), (gst_fake_src_class_init),
27821 (gst_fake_src_init), (gst_fake_src_event_handler),
27822 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
27823 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
27824 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
27825 (gst_fake_src_create_buffer), (gst_fake_src_create),
27826 (gst_fake_src_start), (gst_fake_src_stop):
27827 * gst/elements/gstfakesrc.h:
27828 * gst/elements/gstfilesink.c: (_do_init),
27829 (gst_file_sink_base_init), (gst_file_sink_class_init),
27830 (gst_file_sink_init), (gst_file_sink_dispose),
27831 (gst_file_sink_set_location), (gst_file_sink_set_property),
27832 (gst_file_sink_get_property), (gst_file_sink_open_file),
27833 (gst_file_sink_close_file), (gst_file_sink_query),
27834 (gst_file_sink_event), (gst_file_sink_render),
27835 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
27836 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
27837 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
27838 * gst/elements/gstfilesink.h:
27839 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
27840 (gst_file_src_class_init), (gst_file_src_init),
27841 (gst_file_src_finalize), (gst_file_src_set_location),
27842 (gst_file_src_set_property), (gst_file_src_get_property),
27843 (gst_file_src_map_region), (gst_file_src_map_small_region),
27844 (gst_file_src_create_mmap), (gst_file_src_create_read),
27845 (gst_file_src_create), (gst_file_src_is_seekable),
27846 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
27847 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
27848 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
27849 (gst_file_src_uri_handler_init):
27850 * gst/elements/gstfilesrc.h:
27851 more autistic cleanliness in functions/names/defines
27853 2005-07-13 Andy Wingo <wingo@pobox.com>
27855 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
27856 source couldn't negotiate.
27858 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
27862 * gst/gstutils.c (gst_element_link_pads_filtered): New old
27863 function. I am channeling Hades. Put your boots on suckers!!!
27865 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
27867 * testsuite/caps/Makefile.am:
27868 * testsuite/caps/value_compare.c:
27869 * testsuite/caps/value_intersect.c:
27870 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27871 move two testsuite apps over to the check dir
27873 2005-07-12 Wim Taymans <wim@fluendo.com>
27875 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27876 Added more debug info in the negotiate process.
27878 * gst/gstmessage.h:
27879 Prepare for segment playback.
27881 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
27887 * tools/gst-launch.c: (main):
27888 NULL pipeline on errors.
27890 2005-07-12 Andy Wingo <wingo@pobox.com>
27892 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
27893 not it comes from a malloc region. Make sure our copy gets freed.
27895 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
27897 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27898 * check/gst/gstmessage.c: (GST_START_TEST):
27899 * check/gst/gststructure.c: (GST_START_TEST),
27900 (gst_structure_suite), (main):
27902 * gst/gstelement.c: (gst_element_message_full):
27903 clean up GError and debug string now that they get copied
27904 * gst/gstmessage.c: (gst_message_new_error),
27905 (gst_message_new_warning), (gst_message_parse_error),
27906 (gst_message_parse_warning):
27907 use GST_TYPE_G_ERROR for structure_new, and take copies of
27908 arguments, so that we don't mess up refcounting
27910 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
27912 * check/Makefile.am:
27913 add per-test valgrind targets
27914 * check/gst-libs/gdp.c: (GST_START_TEST),
27915 (gst_data_protocol_suite), (main):
27918 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
27920 * check/Makefile.am:
27921 instate more valgrindable tests
27922 * check/elements/gstfakesrc.c: (chain_func), (event_func),
27923 (GST_START_TEST), (fakesrc_suite):
27924 * check/gst/gstpad.c: (GST_START_TEST):
27925 * check/gst/gststructure.c: (GST_START_TEST):
27927 * docs/gst/tmpl/gstminiobject.sgml:
27928 * gst/gstpad.c: (gst_pad_finalize):
27929 fix the static mutex leak
27931 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
27933 * check/Makefile.am:
27934 add two more tests for valgrinding
27935 * check/gst/gstvalue.c: (GST_START_TEST):
27936 test refcount of deserialized buffer, found a leak
27937 * docs/gst/gstreamer-docs.sgml:
27938 * docs/gst/gstreamer-sections.txt:
27939 * docs/gst/gstreamer.types:
27940 * docs/gst/tmpl/gstminiobject.sgml:
27941 add miniobject to docs
27942 * gst/gstminiobject.c:
27944 * gst/gstvalue.c: (gst_value_deserialize_buffer),
27945 (gst_string_unwrap):
27946 fix a hard-to-find invalid write for one of the tests
27947 fix a leak for deserialized buffers
27949 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27951 * docs/pwg/advanced-events.xml:
27952 * docs/pwg/advanced-request.xml:
27953 * docs/pwg/advanced-scheduling.xml:
27954 * docs/pwg/appendix-porting.xml:
27955 * docs/pwg/building-boiler.xml:
27956 * docs/pwg/intro-preface.xml:
27957 * docs/pwg/other-ntoone.xml:
27958 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
27959 of example code and explanation for pad activation, loop() and
27960 getrange() functions and a bit more. Remove old comments pointing
27962 * examples/pwg/Makefile.am:
27963 Add loop/getrange examples.
27965 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
27968 check for valgrind binary + some fixes
27970 valgrind suppressions for the tests
27971 * check/Makefile.am:
27972 add a valgrind: target that valgrinds the unit tests
27973 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
27974 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
27975 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27976 * check/gst/gstghostpad.c:
27978 * check/gst/gstdata.c:
27980 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
27981 (thread_unref), (gst_mini_object_suite), (main):
27983 * gst/gst.c: (gst_deinit):
27985 add a method to clean up.
27986 * gst/gstsystemclock.c: (gst_system_clock_dispose),
27987 (gst_system_clock_obtain):
27988 allow for disposing the system clock.
27989 * tools/gst-launch.c: (main):
27992 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
27994 * docs/gst/tmpl/gstbasesrc.sgml:
27995 * docs/gst/tmpl/gstfakesrc.sgml:
27996 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27997 (gst_base_src_init), (gst_base_src_set_property),
27998 (gst_base_src_get_property), (gst_base_src_get_range),
27999 (gst_base_src_start):
28000 * gst/base/gstbasesrc.h:
28001 add num-buffers property
28002 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28003 (gst_fakesrc_init), (gst_fakesrc_set_property),
28004 (gst_fakesrc_get_property), (gst_fakesrc_create),
28005 (gst_fakesrc_start):
28006 remove num-buffers property
28008 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28010 * docs/gst/gstreamer-sections.txt:
28011 * docs/gst/tmpl/gstbasesink.sgml:
28012 * docs/gst/tmpl/gstbasesrc.sgml:
28013 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28014 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28015 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28016 (gst_base_sink_set_property), (gst_base_sink_get_property),
28017 (gst_base_sink_handle_object), (gst_base_sink_event),
28018 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28019 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28020 (gst_base_sink_loop), (gst_base_sink_deactivate),
28021 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28022 (gst_base_sink_change_state):
28023 * gst/base/gstbasesink.h:
28024 * gst/base/gstbasesrc.h:
28025 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28026 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28027 (gst_filesink_init):
28028 more macro splitting
28030 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28032 * gst/gstelement.c: (gst_element_get_bus):
28034 * tools/gst-launch.c: (check_intr), (event_loop):
28037 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28039 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28042 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28044 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28045 (gst_base_src_finalize):
28046 add finalize method and clean up properly
28047 * gst/gstpipeline.c: (gst_pipeline_dispose):
28050 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28052 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28054 add more things to check
28055 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28056 * gst/gstelement.c:
28059 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28061 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28062 (GST_START_TEST), (fakesrc_suite):
28063 * check/gst-libs/gdp.c: (GST_START_TEST):
28064 * check/gst/gst.c: (GST_START_TEST):
28065 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28066 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28067 * check/gst/gstbus.c: (GST_START_TEST):
28068 * check/gst/gstcaps.c: (GST_START_TEST):
28069 * check/gst/gstdata.c: (GST_START_TEST):
28070 * check/gst/gstelement.c: (GST_START_TEST):
28071 * check/gst/gstghostpad.c: (GST_START_TEST):
28072 * check/gst/gstiterator.c: (GST_START_TEST):
28073 * check/gst/gstmessage.c: (GST_START_TEST):
28074 * check/gst/gstobject.c: (GST_START_TEST):
28075 * check/gst/gstpad.c: (GST_START_TEST):
28076 * check/gst/gststructure.c: (GST_START_TEST):
28077 * check/gst/gstsystemclock.c: (GST_START_TEST),
28078 (gst_systemclock_suite):
28079 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28080 * check/gst/gstvalue.c: (GST_START_TEST):
28081 * check/pipelines/cleanup.c: (GST_START_TEST):
28082 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28083 * check/states/sinks.c: (GST_START_TEST):
28084 * check/gstcheck.c: (gst_check_init):
28085 * check/gstcheck.h:
28086 add debugging category
28087 use GST_START_TEST now, so we add a debug line
28089 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28091 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28092 add test for state change message on a bin
28093 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28095 * gst/gstbin.c: (gst_bin_init):
28096 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28097 * gst/gstelement.c: (gst_element_post_message),
28098 (gst_element_set_state):
28099 * gst/gstelementfactory.c: (gst_element_factory_create):
28100 * gst/gstmessage.c: (gst_message_new):
28101 * gst/gstscheduler.c:
28102 various debugging additions and cleanups
28104 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28106 * check/Makefile.am:
28107 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28109 adding tests for elements
28110 * gst/gstelement.c: (gst_element_dispose):
28112 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28114 * gst/registries/gstlibxmlregistry.c: (load_feature):
28115 plug more leaks. A simple gst_init() now is leakfree, yay.
28117 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28119 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28120 (gst_xml_registry_load):
28121 plug another memleak
28123 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28126 use GST_SET_ERROR_CFLAGS
28127 * docs/faq/cvs.xml:
28128 change to ERROR_CFLAGS
28130 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28133 make GST_ERROR_CFLAGS overridable and re-enable Werror
28134 * docs/faq/cvs.xml:
28135 add a note about error CFLAGS
28136 * docs/gst/tmpl/gstfakesrc.sgml:
28137 * gst/elements/gstfakesrc.c:
28138 comment out some unused code
28139 * gst/gst.c: (split_and_iterate):
28140 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28144 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28146 * common/Makefile.am:
28147 * common/gtk-doc.mak:
28148 * docs/gst/Makefile.am:
28149 factor out gtk-doc.mak
28151 2005-07-07 Wim Taymans <wim@fluendo.com>
28153 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28154 (gst_thread_scheduler_dispose):
28155 Unlock the STREAM_LOCK completely.
28157 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28159 * check/Makefile.am:
28160 * check/elements/.cvsignore:
28161 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28162 (START_TEST), (fakesrc_suite), (main):
28163 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28164 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28165 (gst_fakesrc_create), (gst_fakesrc_start):
28166 * gst/elements/gstfakesrc.h:
28167 adding a first element test
28169 2005-07-07 Andy Wingo <wingo@pobox.com>
28171 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28174 2005-07-07 Wim Taymans <wim@fluendo.com>
28180 2005-07-07 Wim Taymans <wim@fluendo.com>
28182 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28183 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28184 Allow subclasses to implement their own negotiation.
28186 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28188 * docs/design/part-gstbin.txt:
28189 * docs/design/part-gstpipeline.txt:
28190 Update design notes to reflect the movement of
28191 responsibility for bus handling from GstPipeline to
28194 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28197 Remove unnecessary queue2/3/4 examples.
28199 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28201 * examples/Makefile.am:
28202 * examples/helloworld/helloworld.c: (event_loop), (main):
28203 * examples/queue/queue.c: (event_loop), (main):
28204 * examples/queue2/queue2.c: (main):
28205 Update a couple of the examples to work again.
28207 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28208 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28209 Spelling corrections and extra debug.
28211 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28212 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28213 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28215 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28216 (gst_pipeline_change_state):
28217 * gst/gstpipeline.h:
28218 Move the bus handler for children to the GstBin, and create a
28219 separate bus for receiving messages from children to the one the
28220 bus sends 'upwards' on.
28222 2005-07-06 Wim Taymans <wim@fluendo.com>
28225 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28226 (gst_base_sink_handle_object), (gst_base_sink_loop),
28227 (gst_base_sink_change_state):
28228 * gst/base/gstbasesink.h:
28229 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28230 (gst_base_src_init), (gst_base_src_setcaps),
28231 (gst_base_src_getcaps), (gst_base_src_loop),
28232 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28233 (gst_base_src_start), (gst_base_src_change_state):
28234 * gst/base/gstbasesrc.h:
28235 Make basesrc negotiate.
28236 Handle the case where preroll fails in basesink.
28239 2005-07-06 Wim Taymans <wim@fluendo.com>
28241 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28242 Implement the fixate function.
28243 Clean up acceptcaps.
28245 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28247 * docs/pwg/building-filterfactory.xml:
28248 * docs/pwg/pwg.xml:
28249 Remove never-written filter-factory chapter; I'll add the various
28250 base classes to part 4 ("other element types") later on.
28252 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28254 * docs/pwg/advanced-negotiation.xml:
28255 * docs/pwg/building-boiler.xml:
28256 * docs/pwg/building-pads.xml:
28257 * docs/pwg/pwg.xml:
28258 * examples/pwg/Makefile.am:
28259 Add a chapter on caps negotiation, simplify the original code
28260 samples a bit w.r.t. caps negotiation, add link to the advanced
28261 section. Add a bunch of examples showing different use cases of
28262 different types of caps negotiation. Upstream renegotiation isn't
28263 fully documented yet since nobody knows how that works.
28265 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28267 * check/gst/gstpad.c:
28268 * check/gstcheck.c:
28269 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28270 if pad has no parent, return NULL as list of internal links
28272 2005-07-05 Andy Wingo <wingo@pobox.com>
28274 * gst/elements/gstfilesrc.c:
28275 * gst/elements/gstfakesrc.c:
28276 * gst/base/gstpushsrc.c:
28277 * gst/base/gstbasesrc.h:
28278 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28280 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28283 better report generation target (lcov needs a patch)
28285 2005-07-05 Andy Wingo <wingo@pobox.com>
28287 * gst/elements, testsuite: Null if we got it...
28289 2005-07-05 Wim Taymans <wim@fluendo.com>
28292 * libs/gst/dataprotocol/Makefile.am:
28293 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28294 * libs/gst/dataprotocol/dataprotocol.h:
28295 * pkgconfig/Makefile.am:
28296 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28297 * pkgconfig/gstreamer-dataprotocol.pc.in:
28298 Ported dataprotol to 0.9.
28299 Added pkgconfig files.
28301 2005-07-05 Andy Wingo <wingo@pobox.com>
28303 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28304 Default to returning TRUE for the case when tranform_caps returns
28305 a fixed caps, like for identity or volume.
28307 * check/gst/gstbus.c (pound_bus_with_messages):
28308 * check/gst/gstmessage.c (START_TEST):
28309 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28310 message API change.
28312 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28313 logic weaks here: always run transform_caps, trying passthrough
28314 operation only if the original caps intersects with the transform.
28316 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28317 source and sink caps.
28319 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28320 Intersect the peer caps with the pad template before going into
28322 (gst_base_transform_transform_caps): More debugging.
28324 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28327 2005-07-04 Edward Hervey <edward@fluendo.com>
28331 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28334 2005-07-04 Andy Wingo <wingo@pobox.com>
28336 * check/gst/gstpad.c: Only set explicit caps on pads.
28338 2005-07-01 Andy Wingo <wingo@pobox.com>
28340 * tests/network-clock.scm: Commentary update.
28342 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28343 Didn't really make sense, not implementable with basetransform,
28345 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28346 attempt at implementing the sync property, needs an unlock method.
28348 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28349 New func, by default returns the same caps (the identity
28351 (gst_base_transform_getcaps): Uses transform_caps to return
28352 something sensible.
28353 (gst_base_transform_setcaps): Complicated logic to get caps on
28354 both pads, even if they are different, and to call set_caps once
28355 for every time both pads get their caps set.
28356 (gst_base_transform_handle_buffer): Give the ref to the transform
28357 function. Allows in-place modification of the buffer.
28359 * gst/base/gstbasetransform.h (transform_caps): New class method.
28360 Given caps on one side, what can I do on the other.
28361 (set_caps): Take two caps, one for each side of the element.
28364 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28365 caps in place. This is safe because we can check the mutability of
28366 the caps, and a good idea because fixate functions are just called
28367 as a matter of last resort. (Not actually implemented.)
28368 (gst_pad_set_caps): If the caps we're setting is actually the same
28369 as the existing pad caps, just update the pointer without calling
28370 setcaps. Assert that caps is either NULL or fixed, as per the
28373 * gst/gstghostpad.c: Update for fixate changes.
28375 2005-07-02 Andy Wingo <wingo@pobox.com>
28378 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28379 two refcounts makes it immutable, which is enough. Doc more.
28381 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28383 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28384 Put the mini_object into GValue as a mini_object,
28385 not a gpointer, since that's how we declared
28388 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28390 * examples/pwg/Makefile.am:
28391 Fix buildbot again.
28393 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28395 * docs/pwg/building-testapp.xml:
28397 * examples/pwg/Makefile.am:
28400 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28403 * examples/Makefile.am:
28404 * examples/pwg/Makefile.am:
28405 * examples/pwg/extract.pl:
28406 Enable building the PWG examples.
28407 * docs/pwg/advanced-interfaces.xml:
28408 Add URI interface stub.
28409 * docs/pwg/advanced-types.xml:
28410 * docs/pwg/other-autoplugger.xml:
28411 * docs/pwg/appendix-porting.xml:
28412 * docs/pwg/pwg.xml:
28413 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28414 * docs/pwg/building-boiler.xml:
28415 * docs/pwg/building-chainfn.xml:
28416 * docs/pwg/building-pads.xml:
28417 * docs/pwg/building-props.xml:
28418 * docs/pwg/building-state.xml:
28419 * docs/pwg/building-testapp.xml:
28420 Update the building-*.xml parts for 0.9 changes. All examples
28421 code blocks compile in examples/pwg/*.
28423 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28425 * docs/manual/advanced-autoplugging.xml:
28426 * docs/manual/appendix-checklist.xml:
28427 * docs/manual/appendix-integration.xml:
28428 * docs/manual/highlevel-components.xml:
28429 Fix playbin/decodebin examples, update docs a bit, mention bus
28430 instead of signals in various places, mention kmplayer and
28431 kaffeine since they have a working GStreamer backend in the KDE
28434 2005-06-30 Wim Taymans <wim@fluendo.com>
28437 * docs/design/draft-ghostpads.txt:
28438 * docs/design/draft-push-pull.txt:
28439 * docs/design/draft-query.txt:
28440 * docs/design/part-TODO.txt:
28441 * docs/design/part-query.txt:
28442 Added CHANGES-0.9 doc, updated status of other docs.
28447 2005-06-30 Wim Taymans <wim@fluendo.com>
28449 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28450 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28451 (gst_base_sink_change_state):
28452 * gst/base/gstbasesink.h:
28453 Some tweaks, only EOS and a buffer complete a preroll.
28455 2005-06-30 Andy Wingo <wingo@pobox.com>
28457 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28458 activate_push down to the internal pad as well.
28460 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
28462 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28464 * gst/gsttaginterface.c:
28465 Some documentation fixes (#307394 and #307397).
28467 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
28469 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28471 * gst/gstvalue.c: (gst_value_intersect_list):
28472 Fix memleak (#309125).
28474 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28476 * docs/manual/advanced-dataaccess.xml:
28477 Fix fakesrc example to compile; doesn't work, bug somewhere...?
28478 * docs/manual/basics-pads.xml:
28479 Add reference for filtered caps to above chapter.
28481 2005-06-30 Wim Taymans <wim@fluendo.com>
28483 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28484 (gst_bin_change_state):
28486 Lame attempt at making the state change function a bit
28489 2005-06-30 Wim Taymans <wim@fluendo.com>
28491 * docs/design/part-clocks.txt:
28492 * docs/design/part-element-sink.txt:
28493 * docs/design/part-events.txt:
28494 * docs/design/part-preroll.txt:
28495 * docs/design/part-states.txt:
28496 Some more tweeks and additions to the docs.
28498 2005-06-30 Wim Taymans <wim@fluendo.com>
28500 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28501 (default_have_data), (gst_pad_class_init), (gst_pad_init),
28502 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28503 (gst_pad_check_pull_range), (gst_pad_get_range),
28504 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28506 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28507 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28508 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28509 (gst_pad_remove_buffer_probe):
28510 Removed atomic operations, use existing LOCK.
28511 Move exception handling out of main code path.
28513 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28515 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28516 (silly_return_true_function), (gst_pad_class_init),
28517 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28518 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28519 (gst_pad_send_event):
28520 Fix accumulator, add default value by using _emitv() instead
28521 of _emit() for signal emission.
28523 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28525 * docs/manual/advanced-dataaccess.xml:
28526 * examples/manual/Makefile.am:
28528 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28531 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
28533 * gst/elements/gstfilesink.c: (gst_filesink_render):
28534 Simplify code so that we don't have to handle short
28535 writes and return GST_FLOW_ERROR if an error occured.
28537 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28539 * docs/gst/gstreamer-docs.sgml:
28540 Remove probes more.
28542 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28544 * docs/gst/gstreamer-sections.txt:
28545 * docs/gst/tmpl/gstpad.sgml:
28546 * docs/gst/tmpl/gstprobe.sgml:
28548 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28549 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28550 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28551 (gst_pad_push_event), (gst_pad_send_event):
28553 * gst/gstutils.c: (gst_pad_add_data_probe),
28554 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28555 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28556 (gst_pad_remove_buffer_probe):
28558 Remove old probes, add new g-signal-based probes and some utility
28561 2005-06-29 Edward Hervey <edward@fluendo.com>
28563 * gst/gstelementfactory.c:
28566 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28567 the definition to the header file.
28569 2005-06-29 Andy Wingo <wingo@pobox.com>
28571 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28572 plugins from the source directory.
28574 2005-06-29 Wim Taymans <wim@fluendo.com>
28576 * docs/gst/tmpl/gstbuffer.sgml:
28577 * docs/gst/tmpl/gstclock.sgml:
28578 Some fixings for blantently wrong text.
28580 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28582 * check/Makefile.am:
28583 * gst/gst.c: (add_path_func), (init_pre):
28584 * gst/gstregistry.c: (gst_registry_add_path):
28585 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28586 only scan the GST_PLUGIN_PATH locations, and not add
28589 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28591 * docs/gst/gstreamer-sections.txt:
28592 * docs/gst/tmpl/gstbasesrc.sgml:
28593 * gst/gstelement.c:
28594 * gst/gstelement.h:
28599 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28601 * docs/manual/advanced-autoplugging.xml:
28602 Fix autoplugging example.
28604 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28606 * docs/manual/advanced-autoplugging.xml:
28607 * docs/manual/mime-world.fig:
28608 Try to get autoplugging working, fix type detection. Fix text
28609 in hello-world image.
28611 2005-06-29 Wim Taymans <wim@fluendo.com>
28613 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28614 (gst_base_sink_change_state):
28618 map SIGNAL and BROADCAST to the right function.
28621 Remove redundant braces.
28623 * gst/gstpad.c: (gst_pad_set_caps):
28624 Don't call setcaps function when reseting caps to NULL.
28626 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28627 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28628 (gst_system_clock_id_unschedule):
28629 Use BROADCAST as this is what we do.
28631 2005-06-29 Wim Taymans <wim@fluendo.com>
28633 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28634 We are actually prerolling before commiting the state
28637 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28639 * docs/manual/advanced-clocks.xml:
28640 * docs/manual/advanced-interfaces.xml:
28641 * docs/manual/advanced-metadata.xml:
28642 * docs/manual/advanced-position.xml:
28643 * docs/manual/advanced-schedulers.xml:
28644 * docs/manual/advanced-threads.xml:
28645 * docs/manual/appendix-porting.xml:
28646 * docs/manual/basics-bins.xml:
28647 * docs/manual/basics-bus.xml:
28648 * docs/manual/basics-elements.xml:
28649 * docs/manual/basics-helloworld.xml:
28650 * docs/manual/basics-pads.xml:
28651 * docs/manual/highlevel-components.xml:
28652 * docs/manual/manual.xml:
28653 * docs/manual/thread.fig:
28654 Update (until threads/scheduling) Application Development Manual;
28655 remove GstThread, add GstBus, add simple porting checklist, add
28656 documentation for tag writing, clocks, make all examples until this
28657 part compile and run.
28658 * examples/manual/Makefile.am:
28659 Update from changes to Application Development Manual; add bus
28660 example, remove thread example.
28662 2005-06-28 Wim Taymans <wim@fluendo.com>
28664 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28665 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28666 (gst_bus_source_dispatch):
28667 Add debugging messages.
28668 Make internal methods static.
28669 Handle the case where the bus is flushed in the handler.
28671 * gst/gstelement.c: (gst_element_get_bus):
28672 Fix refcount in _get_bus();
28674 * gst/gstpipeline.c: (gst_pipeline_change_state),
28675 (gst_pipeline_get_clock_func):
28676 Clock refcounting fixes.
28677 Handle the case where preroll timed out more gracefully.
28679 * gst/gstsystemclock.c: (gst_system_clock_dispose):
28680 Clean up the internal thread in dispose. This is needed
28681 for subclasses that actually get disposed.
28683 * gst/schedulers/threadscheduler.c:
28684 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28685 (gst_thread_scheduler_dispose):
28686 Free thread pool in dispose.
28688 2005-06-28 Andy Wingo <wingo@pobox.com>
28690 * tests/network-clock-utils.scm (debug, print-event): New utils.
28692 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28693 (*packet-loss*): Unified loss probability.
28694 (network-time): Report out-of-band events.
28696 * tests/plot-data: Add support for out-of-band events. Hack it
28697 into this script instead of passing it down the pipe; should fix
28700 2005-06-28 Wim Taymans <wim@fluendo.com>
28702 * docs/gst/gstreamer.types:
28703 * docs/gst/tmpl/gstbasesrc.sgml:
28704 * docs/gst/tmpl/gstpad.sgml:
28707 2005-06-28 Wim Taymans <wim@fluendo.com>
28709 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28710 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28711 (gst_proxy_pad_do_fixatecaps):
28712 Correctly proxy the check_pull_range function.
28714 2005-06-28 Andy Wingo <wingo@pobox.com>
28716 * tests/network-clock.scm: Removed need for slib.
28718 2005-06-28 Wim Taymans <wim@fluendo.com>
28720 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28721 (gst_basesink_preroll_queue_flush):
28722 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28723 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28724 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28725 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28726 (gst_proxy_pad_set_property):
28729 * gst/gstqueue.c: (gst_queue_init):
28730 The deprecated pad loop function is removed now.
28732 2005-06-28 Andy Wingo <wingo@pobox.com>
28734 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28735 New parameters, simulate network packet loss.
28737 * tests/network-clock-utils.scm: Initialize the RNG.
28739 2005-06-28 Wim Taymans <wim@fluendo.com>
28741 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28742 (gst_basesink_event), (gst_basesink_deactivate):
28743 Flushing the preroll queue always needs to unlock the waiters.
28745 2005-06-28 Edward Hervey <edward@fluendo.com>
28747 * gst/gstpipeline.c: (gst_pipeline_send_event):
28748 Wheen a seek was successful on a pipeline, set the stream_time to the
28749 seek offset in order to have a synchronized stream_time.
28751 2005-06-28 Wim Taymans <wim@fluendo.com>
28753 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28754 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28755 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28756 (gst_proxy_pad_do_fixatecaps):
28757 Call wrapper function instead of just calling the function
28758 pointers. This takes care of any locking and whatmore.
28760 2005-06-28 Wim Taymans <wim@fluendo.com>
28762 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28763 (gst_pad_pull_range):
28765 CONNECTED -> LINKED.
28767 2005-06-28 Andy Wingo <wingo@pobox.com>
28769 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28770 source-munging commit!!!
28772 * gst/gstobject.c (gst_object_unref, gst_object_ref)
28773 (gst_object_sink): Take gpointer arguments, not GstObject --
28774 avoids casts. Like GLib.
28776 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28779 2005-06-27 Andy Wingo <wingo@pobox.com>
28781 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
28784 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
28785 returns a sorted copy of the trace list.
28786 (gst_alloc_trace_print_live): New API, only prints traces with
28787 live objects. Sort the list.
28788 (gst_alloc_trace_print_all): Sort the list.
28789 (gst_alloc_trace_print): Align columns.
28791 * gst/elements/gstttypefindelement.c:
28792 * gst/elements/gsttee.c:
28793 * gst/base/gstbasesrc.c:
28794 * gst/base/gstbasesink.c:
28795 * gst/base/gstbasetransform.c:
28796 * gst/gstqueue.c: Adapt for pad activation changes.
28798 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
28800 (gst_pipeline_dispose): Drop ref on sched.
28802 * gst/gstpad.c (gst_pad_init): Set the default activate func.
28803 (gst_pad_activate_default): Push mode by default.
28804 (pre_activate_switch, post_activate_switch): New stubs, things to
28805 do before and after switching activation modes on pads.
28806 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28807 the pad's activate function to choose which mode to activate.
28808 Shortcut on deactivation and call the right function directly.
28809 (gst_pad_activate_pull): New API, (de)activates a pad in pull
28811 (gst_pad_activate_push): New API, same for push mode.
28812 (gst_pad_set_activate_function)
28813 (gst_pad_set_activatepull_function)
28814 (gst_pad_set_activatepush_function): Setters for new API.
28816 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28817 Trace all miniobjects.
28818 (gst_mini_object_make_writable): Unref the arg if we copy, like
28819 gst_caps_make_writable.
28821 * gst/gstmessage.c (_gst_message_initialize): No trace init.
28823 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
28824 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
28825 Adapt for new pad API.
28827 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
28829 * gst/gstelement.h:
28830 * gst/gstelement.c (gst_element_iterate_src_pads)
28831 (gst_element_iterate_sink_pads): New API functions.
28833 * gst/gstelement.c (iterator_fold_with_resync): New utility,
28834 should fold into gstiterator.c in some form.
28835 (gst_element_pads_activate): Simplified via use of fold and
28836 delegation of decisions to gstpad->activate.
28838 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
28841 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
28842 class once in init, like gstmessage. Didn't run into this issue
28843 but it seems correct. Don't initialize a trace, gstminiobject does
28846 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
28847 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
28849 (assert_live_count): New util function, uses alloc traces to check
28852 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
28853 To be modified when unlink drops the internal pad.
28855 2005-06-27 Wim Taymans <wim@fluendo.com>
28857 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
28858 (gst_bin_change_state):
28859 Cleanup the get_state() function a little, make sure it
28860 iterates the same set of elements.
28861 Added stub iterate_state_order().
28863 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
28865 * docs/gst/gstreamer-docs.sgml:
28866 * docs/gst/gstreamer-sections.txt:
28867 * docs/gst/gstreamer.types:
28868 * docs/gst/tmpl/gstbasesink.sgml:
28869 * docs/gst/tmpl/gstbasesrc.sgml:
28870 * docs/gst/tmpl/gstbasetransform.sgml:
28871 * docs/gst/tmpl/gstelement.sgml:
28872 * docs/gst/tmpl/gstiterator.sgml:
28873 * gst/base/gstbasesrc.c:
28874 * gst/base/gstbasesrc.h:
28875 * gst/base/gstbasetransform.h:
28876 * gst/gstelement.c:
28877 * gst/gstiterator.h:
28878 adding basetransform and iterator docs
28880 2005-06-27 Andy Wingo <wingo@pobox.com>
28882 * docs/design/part-activation.txt: Notes on how activation should
28883 work -- not quite implemented yet.
28885 2005-06-25 Wim Taymans <wim@fluendo.com>
28887 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
28888 At least get the chain function correct, needs more
28891 2005-06-25 Wim Taymans <wim@fluendo.com>
28893 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28894 (gst_basesink_handle_object), (gst_basesink_event),
28895 (gst_basesink_do_sync), (gst_basesink_handle_event),
28896 (gst_basesink_change_state):
28898 Right, two problems here: ghostpads don't take locks and
28899 glib _rec_mutex_lock_full() with depth==0 still locks.
28900 Catch illegal locking and g_warn them.
28902 2005-06-25 Wim Taymans <wim@fluendo.com>
28904 * check/states/sinks.c: (START_TEST), (gst_object_suite):
28905 Have to check for completion now...
28907 2005-06-25 Wim Taymans <wim@fluendo.com>
28909 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28910 (gst_basesink_handle_object), (gst_basesink_event),
28911 (gst_basesink_do_sync), (gst_basesink_handle_event),
28912 (gst_basesink_change_state):
28914 Unlock STREAM_LOCK whatever the recursion was.
28916 2005-06-25 Wim Taymans <wim@fluendo.com>
28918 * gst/base/gstbasesink.c: (gst_basesink_set_property),
28919 (gst_basesink_preroll_queue_empty),
28920 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
28921 (gst_basesink_event), (gst_basesink_do_sync),
28922 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
28923 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
28924 (gst_basesink_change_state):
28925 Reworked the base sink, handle event and buffer serialisation
28926 correctly and removed possible deadlock.
28927 Handle EOS correctly.
28929 2005-06-25 Wim Taymans <wim@fluendo.com>
28931 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
28932 (gst_pipeline_change_state):
28933 * tools/gst-launch.c: (check_intr), (event_loop), (main):
28934 Allow elements to post EOS in the state change function.
28935 Fix up -launch, make it exit the poll loop when the
28936 pipeline actually changed state.
28937 Fix up warning parsing in -launch.
28939 2005-06-25 Wim Taymans <wim@fluendo.com>
28941 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
28942 (gst_tee_sink_activate):
28943 Core takes STREAM_LOCK for us now.
28945 2005-06-25 Wim Taymans <wim@fluendo.com>
28947 * gst/gstelement.c: (gst_element_get_state_func),
28948 (gst_element_set_state):
28949 * gst/gstelement.h:
28950 * gst/gstmessage.c: (gst_message_parse_error),
28951 (gst_message_parse_warning):
28952 Keep track of current target state while performing a state
28953 change so that subclasses can do something interesting.
28954 Fix parsing of warning/error messages when GError is NULL.
28956 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
28958 * docs/gst/Makefile.am:
28959 * docs/gst/gstreamer-docs.sgml:
28960 * docs/gst/gstreamer-sections.txt:
28961 * docs/gst/gstreamer.types:
28962 * docs/gst/tmpl/gstbasesink.sgml:
28963 * docs/gst/tmpl/gstbasesrc.sgml:
28964 * docs/gst/tmpl/gstbin.sgml:
28965 * docs/gst/tmpl/gstcompat.sgml:
28966 * docs/gst/tmpl/gstfakesink.sgml:
28967 * docs/gst/tmpl/gstfakesrc.sgml:
28968 * docs/gst/tmpl/gstfilesink.sgml:
28969 * docs/gst/tmpl/gstfilesrc.sgml:
28970 * docs/gst/tmpl/gstindex.sgml:
28971 * docs/manual/appendix-quotes.xml:
28972 * gst/base/gstbasesrc.h:
28973 * gst/elements/gstfakesrc.h:
28974 * gst/gstmessage.h:
28975 start pulling in base classes and elements in our docs
28977 2005-06-24 Stefan Kost <ensonic@users.sf.net>
28979 * docs/gst/Makefile.am:
28980 * docs/libs/Makefile.am:
28981 fixed make distcheck with gtk-doc 1.3
28983 2005-06-23 Wim Taymans <wim@fluendo.com>
28985 * gst/gstelement.c: (gst_element_get_state_func),
28986 (gst_element_set_state), (gst_element_change_state):
28987 When the state did not change, also report NO_PREROLL
28990 2005-06-23 Wim Taymans <wim@fluendo.com>
28992 * gst/gstpad.c: (gst_pad_event_default):
28993 * gst/gstqueue.c: (gst_queue_loop):
28994 No unsafe task pausing please.
28996 2005-06-23 Wim Taymans <wim@fluendo.com>
28998 * gst/schedulers/threadscheduler.c:
28999 (gst_thread_scheduler_task_start),
29000 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29001 Ref the task before pushing it on the threadpool. This
29002 makes sure that we have a ref when the threadfunction is
29005 2005-06-23 Andy Wingo <wingo@pobox.com>
29007 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29008 offset is greater than the file's size.
29010 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29011 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29012 * gst/gstobject.c (gst_object_class_init): Make the class lock
29013 recursive. Wim won't let me drop deep_notify. Decodebin works
29014 again, whoopdy doo.
29016 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29017 internal pad, and hacks accordingly. Doesn't do it on the target
29018 pad because we change its caps. Probably catches all cases of
29020 (gst_ghost_pad_set_property): Connect to notify::caps as
29023 * tests/network-clock.scm (plot-simulation): Pipe data to the
29024 elite python skript.
29026 * tests/network-clock-utils.scm (define-parameter): New macro,
29027 defines a parameter that can be set via the command line.
29028 (set-parameter!, parse-parameter-arguments): Command line args
29031 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29034 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29036 * gst/elements/gsttypefindelement.c:
29037 (gst_type_find_element_handle_event):
29038 Don't restart typefinding on a discont.
29039 * gst/gstelement.c: (gst_element_set_state):
29040 Debug spelling fix.
29041 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29042 Allow changing mode of an active pad.
29043 Debug output fixes.
29044 * gst/registries/gstlibxmlregistry.c: (load_feature):
29045 Don't cast a static pad template to a normal pad template.
29047 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29049 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29050 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29051 remove gst_strtoll completely, since it didn't actually do
29052 anything more than what g_ascii_strtoull already does.
29053 check for range errors when deserializing
29054 do a cast for the unsigned cases; but further fixing needs
29055 a decision on what the interpretation of "(int)" and
29056 deserialization should be for values that fall outside the
29057 type's boundaries (ie, refuse, or interpret as casting)
29059 2005-06-23 Wim Taymans <wim@fluendo.com>
29061 * check/Makefile.am:
29062 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29063 * docs/design/part-live-source.txt:
29064 * docs/design/part-states.txt:
29065 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29066 (gst_basesrc_set_live), (gst_basesrc_is_live),
29067 (gst_basesrc_get_range), (gst_basesrc_activate),
29068 (gst_basesrc_change_state):
29069 * gst/base/gstbasesrc.h:
29070 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29071 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29072 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29073 * gst/gstelement.c: (gst_element_get_state_func),
29074 (gst_element_set_state):
29075 * gst/gstelement.h:
29077 * tools/gst-launch.c: (event_loop), (main):
29078 Added support for live sources and other elements that
29080 Updated design docs, added live-source design doc.
29081 Implemented live source functionality in basesrc
29082 Fix error condition in _bin_get_state()
29083 Implement live source handling in -launch.
29084 Added check for live sources.
29085 Fixed case in GstBin where elements were changed state
29089 2005-06-23 Andy Wingo <wingo@pobox.com>
29091 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29092 borken refcounting.
29094 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29095 gst_caps_replace takes care of this for us.
29097 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29098 gst_pad_set_caps on the target, not just its setcaps() function.
29100 * tests/network-clock.scm:
29101 * tests/network-clock-utils.scm: A network clock simulator.
29102 Something of an algorithmic testbed before doing something in C.
29104 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29106 * check/Makefile.am:
29107 * check/gst/capslist.h:
29108 copy over from 0.8, and add two with bitmasks specified with
29110 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29111 add test to parse everything from capslist.h
29112 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29114 add test for structure deserialization
29115 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29116 add tests for deserialization of strings to int types
29117 * gst/gststructure.c: (gst_structure_nth_field_name):
29118 * gst/gststructure.h:
29119 add a way to get the name of a field referenced by index
29120 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29121 instead of checking if the resulting long long lies between
29122 min and max, we check if the long long would fit into
29123 a number of bytes for the final type.
29124 This fixes cases where a string represents 2^32 - 1, which
29125 when cast to int would be the (valid) -1, but is bigger than
29128 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29130 * gst/parse/grammar.y:
29131 add a log line for type deserialization
29133 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29135 * check/gst/gstvalue.c: (START_TEST):
29136 * gst/gstvalue.c: (gst_value_deserialize):
29137 return long long, not int, so gint64 deserialization actually
29138 works. Is there any flag that makes the compiler check this ?
29141 2005-06-22 Wim Taymans <wim@fluendo.com>
29144 Added convenience macros for setting buffers in GValue.
29146 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29148 * check/gst/.cvsignore:
29149 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29150 add a test deserializing int64, and comment part out because
29153 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29155 * check/Makefile.am:
29156 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29157 * testsuite/Makefile.am:
29158 * testsuite/caps/Makefile.am:
29159 * testsuite/caps/value_serialize.c:
29160 * testsuite/test_gst_init.c:
29161 move a value_serialize test over
29163 2005-06-20 Wim Taymans <wim@fluendo.com>
29168 * gst/gstvalue.c: (gst_value_compare_buffer),
29169 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29170 (gst_value_compare_flags), (gst_value_serialize_flags),
29171 (gst_value_deserialize_flags), (_gst_value_initialize):
29172 Fix serialisation of buffers, they are not boxed types anymore
29174 2005-06-20 Wim Taymans <wim@fluendo.com>
29176 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29177 Testcase to show error in buffer-on-caps serialisation.
29179 2005-06-20 Andy Wingo <wingo@pobox.com>
29181 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29182 will be adding to later.
29184 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29185 if its socks fill with rocks.
29186 (gst_system_clock_obtain): Set the name on object construction.
29187 Avoid double-checked locking.
29189 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29191 * gst/gsturi.c: (gst_element_make_from_uri):
29192 Fix potential endless loop.
29194 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29196 * check/Makefile.am:
29198 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29200 move over from testsuite dir and clean up
29203 * testsuite/Makefile.am:
29204 * testsuite/tags/.cvsignore:
29205 * testsuite/tags/Makefile.am:
29206 * testsuite/tags/merge.c:
29207 remove testsuite/tags
29209 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29211 * docs/gst/gstreamer-sections.txt:
29212 * docs/gst/tmpl/gstenumtypes.sgml:
29213 * win32/gstenumtypes.c:
29214 clean up documentation build a little
29216 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29218 * check/gstcheck.h:
29219 add macros for checking refcounts on objects and caps
29220 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29221 add some more unit tests
29222 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29223 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29224 fix leaked refcounts (I hope :)) so unittest works
29228 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29230 * configure.ac: back to HEAD
29232 === release 0.9.1 ===
29234 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29240 2005-06-17 Andy Wingo <wingo@pobox.com>
29242 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29243 assert; it's always possible that the pad gets deactivated in
29244 between the checks in gstpad.c and the implementation. Rely on
29245 finish_preroll() to return a FLUSHING or similar instead of on the
29248 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29249 clock and post an EOS message if we come out of finish_preroll in
29252 2005-06-16 David Schleef <ds@schleef.org>
29254 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29255 (gst_capsfilter_set_property): Allow NULL as possible value
29256 for filter_caps property, indicating GST_CAPS_ANY.
29258 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29260 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29262 * gst/schedulers/Makefile.am:
29264 * gstreamer.spec.in:
29267 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29269 * gstreamer.spec.in:
29272 2005-06-08 Andy Wingo <wingo@pobox.com>
29274 * gst/gstutils.c: RPAD fixes all around.
29275 (gst_element_link_pads): Refcounting fixes.
29277 * tools/gst-inspect.c:
29278 * tools/gst-xmlinspect.c:
29280 * gst/base/gsttypefindhelper.c:
29281 * gst/base/gstbasesink.c:
29282 * gst/gstqueue.c: RPAD fixes.
29284 * gst/gstghostpad.h:
29285 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29286 pads. The tricky thing is they provide both source and sink
29287 interfaces, since they proxy the internal pad for the external
29288 pad, and vice versa. Implement with lower-level ProxyPad objects,
29289 with the interior proxy pad as a child of the exterior ghost pad.
29290 Should write a doc on this.
29292 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29293 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29296 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29297 pads are real pads. No ghost pads in this file. Not documenting
29298 the myriad s/RPAD/PAD/ and REALIZE fixes.
29299 (gst_pad_class_init): Add properties for "direction" and
29300 "template". Both are construct-only, so they can't change during
29301 the life of the pad. Fixes properly deriving from GstPad.
29302 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29303 derived objects, just set properties when creating the objects via
29305 (gst_pad_get_parent): Implement as a function, return NULL if the
29306 parent is not an element.
29307 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29308 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29310 * gst/gstobject.c (gst_object_class_init): Make name a construct
29311 property. Don't set it in the object init.
29313 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29314 with UNKNOWN direction.
29315 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29316 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29317 (gst_element_remove_pad): Remove ghost-pad special cases.
29318 (gst_element_pads_activate): Remove rpad cruft.
29320 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29321 catch the pad's-parent-not-an-element case.
29323 * gst/gst.h: Include gstghostpad.h.
29325 * gst/gst.c (init_post): No more real, ghost pads.
29327 * gst/Makefile.am: Add gstghostpad.[ch].
29329 * check/Makefile.am:
29330 * check/gst/gstbin.c:
29331 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29332 into a bin creates ghost pads, and that the refcounts are right.
29333 Partly moved from gstbin.c.
29335 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29337 * check/gst-libs/.cvsignore:
29338 * check/gst/.cvsignore:
29339 * check/pipelines/.cvsignore:
29341 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29342 (START_TEST), (cleanup_suite), (main):
29343 add some tests related to cleanup after running pipelines
29345 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29347 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29348 add a testsuite for GstBuffer
29350 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29352 * gst/gstminiobject.h:
29353 add defines for accessing the refcount
29355 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29357 * Makefile.am: added support for html unit test coverage reports
29359 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29361 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29362 Free existing caps if the capsfilter changes. Add a FIXME about
29363 setting those caps on the pads.
29365 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29366 Before adding a ghost pad to a parent bin, check that there isn't
29367 already one for the element on the bin. Prevents infinite recursion
29368 when using decodebin in parse pipelines. Andy says he'll rewrite the
29369 way this works anyway, so ignore the hack.
29371 2005-06-02 Andy Wingo <wingo@pobox.com>
29373 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29374 file size, pass it on to the type find helper.
29376 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29377 segment_start and segment_end properly according to the seek
29378 method. Segment_end is still a bit flaky because offset can be
29379 negative for CUR and END cases, but it takes -1 as an "unset"
29382 2005-06-02 Wim Taymans <wim@fluendo.com>
29384 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29385 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29386 (gst_basesink_activate):
29387 * gst/base/gstbasesink.h:
29388 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29389 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29390 (gst_pad_query), (gst_pad_start_task):
29392 * gst/gstqueue.c: (gst_queue_bufferalloc),
29393 (gst_queue_handle_sink_event), (gst_queue_chain):
29394 Bufferalloc: return GstFlowReturn to more accuratly report
29395 why allocation failed.
29397 2005-06-02 Wim Taymans <wim@fluendo.com>
29399 * gst/gstpipeline.c: (gst_pipeline_send_event):
29400 Take snapshot of state without blocking.
29402 2005-06-02 Wim Taymans <wim@fluendo.com>
29404 * docs/design/part-TODO.txt:
29405 * docs/design/part-caps.txt:
29406 * docs/design/part-clocks.txt:
29407 * docs/design/part-negotiation.txt:
29408 * docs/design/part-preroll.txt:
29411 2005-05-30 Wim Taymans <wim@fluendo.com>
29413 * gst/elements/gstidentity.c: (gst_identity_event),
29414 (gst_identity_transform), (gst_identity_get_property):
29415 Protect last_message property as it is accessed from
29418 2005-05-30 Wim Taymans <wim@fluendo.com>
29420 * gst/gstelement.c: (gst_element_init),
29421 (gst_element_pads_activate), (gst_element_change_state):
29422 Slicker pad activation code.
29424 2005-05-30 Wim Taymans <wim@fluendo.com>
29427 * gst/gstelement.h:
29428 * gst/gstelementfactory.h:
29430 Move elementfactory methods to separate .h file.
29432 2005-05-30 Wim Taymans <wim@fluendo.com>
29434 * docs/design/part-overview.txt:
29435 * gst/gstsystemclock.h:
29436 Small typo fixes, doc updates.
29438 2005-05-30 Wim Taymans <wim@fluendo.com>
29440 * gst/gst.c: (gst_init_get_popt_table), (init_post),
29441 (init_popt_callback):
29442 Remove cpu-opt flag.
29444 2005-05-30 Wim Taymans <wim@fluendo.com>
29446 * gst/gstbuffer.c: (gst_subbuffer_finalize),
29447 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29449 Avoid typechecking in places where not needed.
29450 Added accessor for malloc_data.
29452 2005-05-30 Wim Taymans <wim@fluendo.com>
29454 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29455 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29456 (gst_pad_configure_sink), (gst_pad_configure_src),
29457 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29458 (gst_pad_start_task):
29459 Propagate errors from _set_caps() in configure_src/sink
29460 functions instead of returning TRUE.
29461 FLUSH events can travel up and downstream
29464 2005-05-30 Wim Taymans <wim@fluendo.com>
29466 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29467 (gst_basesink_activate):
29468 Handle EOS in preroll.
29470 2005-05-30 Wim Taymans <wim@fluendo.com>
29472 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29473 (gst_queue_loop), (gst_queue_handle_src_event):
29474 Remove old pieces of code
29475 Flushing the queue in an upstream event is a very bad idea.
29477 2005-05-26 Andy Wingo <wingo@pobox.com>
29479 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29480 gst_value_set_mini_object so as to add a ref on the object (which
29481 will be removed when the value is unset).
29483 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29484 arg type in ::handoff.
29486 * gst/gstelement.c (gst_element_change_state): Also deactivate
29487 pads in READY->NULL, just in case the element didn't make it to
29488 PAUSED. Wingo tested, Wim approved.
29490 2005-05-26 Wim Taymans <wim@fluendo.com>
29492 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29493 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29494 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29495 A flushing pad cannot be used to alloc_buffer from.
29497 2005-05-26 Wim Taymans <wim@fluendo.com>
29499 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29500 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29501 (gst_bus_source_dispatch), (gst_bus_source_finalize),
29502 (gst_bus_create_watch), (gst_bus_add_watch_full):
29504 Implement a real GSource and use g_main_context_wakeup() to
29505 signal new messages instead of the socketpair.
29507 2005-05-25 Wim Taymans <wim@fluendo.com>
29509 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29510 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29511 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29512 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29513 (gst_pad_send_event), (gst_pad_start_task):
29514 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29515 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29516 (gst_queue_sink_activate), (gst_queue_src_activate),
29517 (gst_queue_change_state):
29519 Fix state changes for non sinks. We now change sinks, then elements
29520 with unconnected srcpads, then the rest.
29521 More efficient queue unlocking in flush and state changes.
29522 Set the pad activate mode even if it does not have an activate
29525 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29527 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29528 Don't go in pull mode for non-seekable sources.
29529 * gst/elements/gsttypefindelement.h:
29530 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29531 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29532 (free_entry), (stop_typefinding),
29533 (gst_type_find_element_handle_event), (find_peek),
29534 (gst_type_find_element_chain), (do_pull_typefind),
29535 (gst_type_find_element_change_state):
29536 Allow typefinding (w/o seeking) in push-mode, simplified version
29537 of what was in 0.8.
29538 * gst/gstutils.c: (gst_buffer_join):
29540 gst_buffer_join() from 0.8.
29542 2005-05-25 Wim Taymans <wim@fluendo.com>
29544 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29545 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29546 (gst_pad_send_event), (gst_pad_start_task):
29547 Disable attempt at mode switching until it is figured out.
29549 2005-05-25 Wim Taymans <wim@fluendo.com>
29551 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29552 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29553 (gst_basesink_finish_preroll), (gst_basesink_chain),
29554 (gst_basesink_loop), (gst_basesink_activate),
29555 (gst_basesink_change_state):
29556 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29557 (gst_basesrc_get_range), (gst_basesrc_loop),
29558 (gst_basesrc_activate):
29559 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29560 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29561 (gst_real_pad_init), (gst_real_pad_set_property),
29562 (gst_real_pad_get_property), (gst_pad_set_active),
29563 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29564 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29565 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29566 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29567 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29568 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29569 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29570 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29571 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29572 (gst_pad_stop_task):
29574 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29575 (gst_queue_loop), (gst_queue_src_activate):
29576 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29577 (gst_task_get_state):
29579 * gst/schedulers/threadscheduler.c:
29580 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29581 Implement gst_pad_pause/start/stop_task(), take STREAM lock
29583 Remove ACTIVE pad flag, use FLUSHING everywhere
29584 Added _pad_chain(), _pad_get_range() to call chain/getrange
29586 Add locks around IS_FLUSHING when reading.
29587 Take STREAM lock in chain(), get_range() functions so plugins
29588 don't need to take it anymore.
29592 2005-05-25 Wim Taymans <wim@fluendo.com>
29594 * tools/gst-launch.c: (event_loop):
29595 Unref message after using its contents instead of
29598 2005-05-24 Wim Taymans <wim@fluendo.com>
29600 * docs/design/draft-ghostpads.txt:
29601 * docs/design/draft-push-pull.txt:
29602 * docs/design/draft-query.txt:
29603 * docs/design/part-overview.txt:
29604 Docs updates, added general overview doc.
29606 2005-05-21 David Schleef <ds@schleef.org>
29608 * docs/gst/tmpl/old/GstBin.sgml:
29609 * docs/gst/tmpl/old/GstBuffer.sgml:
29610 * docs/gst/tmpl/old/GstCaps.sgml:
29611 * docs/gst/tmpl/old/GstClock.sgml:
29612 * docs/gst/tmpl/old/GstCompat.sgml:
29613 * docs/gst/tmpl/old/GstData.sgml:
29614 * docs/gst/tmpl/old/GstElement.sgml:
29615 * docs/gst/tmpl/old/GstEvent.sgml:
29616 * docs/gst/tmpl/old/GstIndex.sgml:
29617 * docs/gst/tmpl/old/GstStructure.sgml:
29618 * docs/gst/tmpl/old/GstTag.sgml:
29619 * docs/gst/tmpl/old/cothreads.sgml:
29620 * docs/gst/tmpl/old/cothreads_compat.sgml:
29621 * docs/gst/tmpl/old/gettext.sgml:
29622 * docs/gst/tmpl/old/gobject2gtk.sgml:
29623 * docs/gst/tmpl/old/grammar.tab.sgml:
29624 * docs/gst/tmpl/old/gst-i18n-app.sgml:
29625 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29626 * docs/gst/tmpl/old/gst_private.sgml:
29627 * docs/gst/tmpl/old/gstaggregator.sgml:
29628 * docs/gst/tmpl/old/gstarch.sgml:
29629 * docs/gst/tmpl/old/gstatomic_impl.sgml:
29630 * docs/gst/tmpl/old/gstbufferstore.sgml:
29631 * docs/gst/tmpl/old/gstdata_private.sgml:
29632 * docs/gst/tmpl/old/gstdisksink.sgml:
29633 * docs/gst/tmpl/old/gstdisksrc.sgml:
29634 * docs/gst/tmpl/old/gstelementfactory.sgml:
29635 * docs/gst/tmpl/old/gstextratypes.sgml:
29636 * docs/gst/tmpl/old/gstfakesink.sgml:
29637 * docs/gst/tmpl/old/gstfakesrc.sgml:
29638 * docs/gst/tmpl/old/gstfdsink.sgml:
29639 * docs/gst/tmpl/old/gstfdsrc.sgml:
29640 * docs/gst/tmpl/old/gstfilesink.sgml:
29641 * docs/gst/tmpl/old/gstfilesrc.sgml:
29642 * docs/gst/tmpl/old/gsthttpsrc.sgml:
29643 * docs/gst/tmpl/old/gstidentity.sgml:
29644 * docs/gst/tmpl/old/gstindexfactory.sgml:
29645 * docs/gst/tmpl/old/gstmarshal.sgml:
29646 * docs/gst/tmpl/old/gstmd5sink.sgml:
29647 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29648 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29649 * docs/gst/tmpl/old/gstpadtemplate.sgml:
29650 * docs/gst/tmpl/old/gstpipefilter.sgml:
29651 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29652 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29653 * docs/gst/tmpl/old/gstshaper.sgml:
29654 * docs/gst/tmpl/old/gstspider.sgml:
29655 * docs/gst/tmpl/old/gstspideridentity.sgml:
29656 * docs/gst/tmpl/old/gststatistics.sgml:
29657 * docs/gst/tmpl/old/gsttee.sgml:
29658 * docs/gst/tmpl/old/gsttimecache.sgml:
29659 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29660 * docs/gst/tmpl/old/gstxmlregistry.sgml:
29661 * docs/gst/tmpl/old/gthread-cothreads.sgml:
29662 * docs/gst/tmpl/old/types.sgml:
29663 I didn't intend to add these or check them in.
29665 2005-05-19 David Schleef <ds@schleef.org>
29667 * configure.ac: Use -no-common everywhere. In a sane world, it
29668 would be the default in libtool, because without it, you can't
29669 build DLLs on Windows.
29670 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29671 * docs/gst/gstreamer-sections.txt:
29672 * docs/gst/tmpl/gstcpu.sgml:
29673 * docs/gst/tmpl/gstdata.sgml:
29674 * docs/gst/tmpl/gstthread.sgml:
29676 2005-05-19 David Schleef <ds@schleef.org>
29678 * gst/gstminiobject.c: (gst_value_set_mini_object),
29679 (gst_value_take_mini_object), (gst_value_get_mini_object):
29680 * gst/gstminiobject.h: Add GValue set/get functions.
29682 2005-05-19 Wim Taymans <wim@fluendo.com>
29684 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29685 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29686 (gst_subbuffer_init), (gst_buffer_is_span_fast):
29688 * gst/gstbus.c: (gst_bus_post):
29689 * gst/gstelement.c: (gst_element_get_random_pad):
29690 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29691 Make subbufer unref the parent in finalize.
29692 some more debugging info.
29695 2005-05-19 Wim Taymans <wim@fluendo.com>
29697 * gst/base/gstbasesink.c: (gst_basesink_class_init),
29698 (gst_basesink_init), (gst_basesink_finalize),
29699 (gst_basesink_activate), (gst_basesink_change_state):
29700 Don't free preroll queue too early.
29702 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29706 Hi, I'm outdated. Please shoot me.
29708 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29710 * gst/gstpipeline.c: (gst_pipeline_send_event):
29711 Do not access variables after they have been deleted.
29713 2005-05-19 Wim Taymans <wim@fluendo.com>
29715 * tools/gst-inspect.c: (print_plugin_features):
29716 A plugin feature does unfortunatly not use the
29719 2005-05-18 Wim Taymans <wim@fluendo.com>
29721 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29722 Port _span() functions to new subbuffers.
29724 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29726 * gst/gstbin.c: (gst_bin_add_func):
29727 Fix clock settery in bins when adding kids after the clock has
29730 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29732 * gst/elements/gstidentity.c: (gst_identity_class_init):
29733 Workaround until signals support GstMiniObject.
29735 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
29738 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29740 2005-05-18 Wim Taymans <wim@fluendo.com>
29742 * gst/base/Makefile.am:
29743 * gst/base/gstadapter.c: (gst_adapter_base_init),
29744 (gst_adapter_class_init), (gst_adapter_init),
29745 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29746 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29747 (gst_adapter_flush), (gst_adapter_available),
29748 (gst_adapter_available_fast):
29749 * gst/base/gstadapter.h:
29750 Ported and added adapter to the base classes.
29752 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
29755 * gst/gstmessage.c:
29756 Make sure the class is reffed/unreffed once before threads can be
29757 used. Fixes #304551.
29759 2005-05-17 Wim Taymans <wim@fluendo.com>
29761 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29762 (gst_basesink_chain_unlocked), (gst_basesink_activate):
29763 * gst/gstminiobject.c: (gst_mini_object_get_type),
29764 (gst_mini_object_free):
29765 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29766 (gst_pad_push), (gst_pad_push_event):
29767 * gst/gstqueue.c: (gst_queue_change_state):
29768 Don't queue buffers in basesink when we are flushing.
29769 Unref buffer when flushing in basesink.
29770 Flush queue when going to READY
29771 Unref buffer when _push() returns an error.
29772 Don't free MiniObject instance when refcount is incremented
29773 in _finalize() so that we can recover objects.
29775 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
29777 * docs/manual/advanced-schedulers.xml:
29778 * docs/manual/appendix-checklist.xml:
29779 * docs/pwg/advanced-clock.xml:
29780 * docs/pwg/advanced-interfaces.xml:
29781 * docs/pwg/advanced-request.xml:
29782 * docs/pwg/advanced-types.xml:
29783 * docs/pwg/intro-preface.xml:
29784 * examples/plugins/example.c: (gst_example_get_type),
29785 (gst_example_class_init), (gst_example_chain),
29786 (gst_example_set_property), (gst_example_get_property),
29787 (gst_example_change_state), (plugin_init):
29788 * examples/plugins/example.h:
29791 2005-05-17 Wim Taymans <wim@fluendo.com>
29793 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
29794 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
29795 * gst/gstqueue.c: (gst_queue_change_state):
29796 Clear queue when going to READY.
29797 Remove IN_SETCAPS flag too.
29799 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
29801 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29802 Remove implicit cast from gboolean to GstElementStateReturn;
29803 make sure we still return failure in paused => ready case if
29804 the parent class fails to change state and our own stop
29807 2005-05-17 Wim Taymans <wim@fluendo.com>
29809 * tools/gst-launch.c: (event_loop):
29810 Message was unreffed too soon.
29812 2005-05-16 Andy Wingo <wingo@pobox.com>
29814 * gst/gstbin.c (sink_iterator_filter): Err... um...
29816 * check/gst/gstbin.c (test_ghost_pads): New test for the
29817 ghosting-if-elements-not-in-same-bin behavior.
29819 2005-05-16 David Schleef <ds@schleef.org>
29821 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
29822 accessing refcount directly.
29824 2005-05-15 David Schleef <ds@schleef.org>
29826 * check/Makefile.am: remove GstData checks
29827 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
29828 * gst/Makefile.am: add miniobject, remove data
29829 * gst/gst.h: add miniobject, remove data
29830 * gst/gstdata.c: remove
29831 * gst/gstdata.h: remove
29832 * gst/gstdata_private.h: remove
29833 * gst/gsttypes.h: remove GstEvent and GstMessage
29834 * gst/gstelement.c: (gst_element_post_message): fix for API changes
29835 * gst/gstmarshal.list: change BOXED -> OBJECT
29837 Implement GstMiniObject.
29838 * gst/gstminiobject.c:
29839 * gst/gstminiobject.h:
29841 Modify to be subclasses of GstMiniObject.
29842 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
29843 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
29844 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
29845 (gst_subbuffer_get_type), (gst_subbuffer_init),
29846 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
29849 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
29850 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
29851 (_gst_event_copy), (gst_event_new):
29853 * gst/gstmessage.c: (_gst_message_initialize),
29854 (gst_message_get_type), (gst_message_class_init),
29855 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
29856 (gst_message_new), (gst_message_new_error),
29857 (gst_message_new_warning), (gst_message_new_tag),
29858 (gst_message_new_state_changed), (gst_message_new_application):
29859 * gst/gstmessage.h:
29860 * gst/gstprobe.c: (gst_probe_perform),
29861 (gst_probe_dispatcher_dispatch):
29863 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
29864 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
29865 (_gst_query_copy), (gst_query_new):
29867 Update elements for GstData -> GstMiniObject changes
29869 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
29870 (gst_queue_chain), (gst_queue_loop):
29871 * gst/elements/gstbufferstore.c:
29872 (gst_buffer_store_add_buffer_func),
29873 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
29874 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29875 (gst_fakesink_render):
29876 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29877 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
29878 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
29879 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
29880 (gst_filesrc_create_read):
29881 * gst/elements/gstidentity.c: (gst_identity_class_init):
29882 * gst/elements/gsttypefindelement.c:
29883 (gst_type_find_element_src_event), (free_entry_buffers),
29884 (gst_type_find_element_handle_event):
29885 * libs/gst/dataprotocol/dataprotocol.c:
29886 (gst_dp_header_from_buffer):
29887 * libs/gst/dataprotocol/dataprotocol.h:
29888 * libs/gst/dataprotocol/dp-private.h:
29890 2005-05-15 David Schleef <ds@schleef.org>
29892 * gst/elements/gstelements.c: Don't include headers that were
29895 2005-05-15 David Schleef <ds@schleef.org>
29897 * gst/elements/Makefile.am: Remove some elements that don't
29898 need to be in the core (or even exist at all).
29899 * gst/elements/gstaggregator.c:
29900 * gst/elements/gstaggregator.h:
29901 * gst/elements/gstmd5sink.c:
29902 * gst/elements/gstmd5sink.h:
29903 * gst/elements/gstmultifilesrc.c:
29904 * gst/elements/gstmultifilesrc.h:
29905 * gst/elements/gstpipefilter.c:
29906 * gst/elements/gstpipefilter.h:
29907 * gst/elements/gstshaper.c:
29908 * gst/elements/gstshaper.h:
29909 * gst/elements/gststatistics.c:
29910 * gst/elements/gststatistics.h:
29911 * po/POTFILES.in: Remove above files.
29913 2005-05-14 Andy Wingo <wingo@pobox.com>
29915 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
29916 so as to get the refs right.
29917 (sink_iterator_filter): New function, wraps bin_element_is_sink,
29918 unreffing objects that don't pass the filter.
29920 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
29921 gst_element_set_bus.
29922 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
29923 normal cases, this will destroy the bus.
29925 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
29928 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
29931 2005-05-13 Andy Wingo <wingo@pobox.com>
29933 * gst/gstutils.c (gst_element_link_pads): Instead of calling
29934 gst_pad_link, call pad_link_maybe_ghosting,
29935 (pad_link_maybe_ghosting): Links pads, making sure that the
29936 elements being linked are in the same bin.
29937 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
29938 Helpers for pad_link_maybe_ghosting.
29940 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
29943 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
29945 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
29947 * docs/design/part-element-source.txt:
29950 2005-05-12 Wim Taymans <wim@fluendo.com>
29952 * gst/base/gstbasesink.c: (gst_basesink_init),
29953 (gst_basesink_activate):
29954 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
29955 (gst_basesrc_is_seekable):
29956 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
29957 (bin_element_is_sink), (gst_bin_change_state):
29958 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29959 * gst/gstelement.h:
29960 Identify sinks by their flag to avoid overly complicated
29962 Do state changes even for elements not reachable from the
29964 BaseSink is a sink now :)
29965 Some more debugging info in the basesrc.
29968 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29970 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
29971 Implement _query on a bin, similar to _send_event.
29973 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
29975 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
29976 Discont event offset format should be GST_FORMAT_BYTES,
29977 not GST_FORMAT_TIME.
29979 2005-05-12 Wim Taymans <wim@fluendo.com>
29981 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
29982 Same fix as Ronald's but without the signal.
29984 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29986 * gst/gstutils.c: (gst_element_query_position):
29987 No, an element is not a pad.
29989 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29991 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
29992 (gst_bin_get_state):
29993 If a child is removed from a bin while we remove the child from
29994 the bin and while we're retrieving its state, signal this to the
29995 get_state function so we abort the wait (instead of waiting for
29996 a timeout) and can immediately re-iterate over all other elements.
29998 2005-05-12 Wim Taymans <wim@fluendo.com>
30000 * gst/base/Makefile.am:
30001 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30002 (gst_basesrc_start):
30003 * gst/base/gstbasesrc.h:
30004 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30005 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30006 (gst_pushsrc_init), (gst_pushsrc_create):
30007 * gst/base/gstpushsrc.h:
30008 Added is_seekable to BaseSrc
30009 Added simple PushSrc.
30011 2005-05-11 Wim Taymans <wim@fluendo.com>
30013 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30014 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30015 (gst_element_link_pads), (gst_element_query_position),
30016 (gst_element_query_convert), (intersect_caps_func),
30017 (gst_pad_query_position), (gst_pad_query_convert):
30018 Fix refcounting in utils function.
30019 No point in trying to activate a pad when it's added, it could
30020 be added from the state change function and then we deadlock, the
30021 element has to decide what to do.
30023 2005-05-10 Andy Wingo <wingo@pobox.com>
30025 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30026 *all* the arguments.
30028 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30029 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30030 lock (according to the docs -- if this is wrong change the docs).
30032 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30033 flush messages in the NULL state.
30035 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30036 message immediately and return.
30037 (gst_bus_set_flushing): New function. If a bus is flushing, it
30038 flushes out any queued messages and immediately unrefs new
30039 messages. This is so when an element goes to NULL, all of the
30040 unhandled messages coming from it can be freed, and their
30041 references to the element dropped. In other words: message source
30042 ref considered harmful :P
30044 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30045 we're finished with it.
30047 * gst/gstmessage.c (gst_message_new_state_changed):
30049 2005-05-10 Wim Taymans <wim@fluendo.com>
30051 * gst/gstvalue.c: (gst_value_compare_flags),
30052 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30053 (_gst_value_initialize):
30054 Added flags serialize/deserialize/compare code.
30056 2005-05-09 Andy Wingo <wingo@pobox.com>
30058 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30059 Intersect the peer's caps with our caps.
30061 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30063 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30064 * gst/elements/gsttypefindelement.c: (find_peek):
30065 Handle negative offsets better. Fixes decodebin.
30067 2005-05-09 Wim Taymans <wim@fluendo.com>
30069 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30070 (gst_base_transform_event):
30071 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30072 Implement accept_caps.
30073 Fix silly lock/unlock mismatch in base class.
30075 2005-05-09 Wim Taymans <wim@fluendo.com>
30077 * docs/design/draft-push-pull.txt:
30078 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30079 * gst/elements/gstfilesink.c: (gst_filesink_init),
30080 (gst_filesink_query):
30081 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30082 (gst_type_find_handle_src_query), (find_element_get_length):
30083 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30084 * gst/gstelement.h:
30085 * gst/gstmessage.c:
30086 * gst/gstmessage.h:
30087 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30088 (gst_real_pad_get_caps_unlocked),
30089 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30090 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30091 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30092 (gst_real_pad_dispose), (gst_real_pad_finalize),
30093 (gst_pad_load_and_link), (gst_pad_save_thyself),
30094 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30095 (gst_pad_check_pull_range), (gst_pad_pull_range),
30096 (gst_pad_template_get_type), (gst_pad_template_class_init),
30097 (gst_pad_template_init), (gst_pad_template_dispose),
30098 (name_is_valid), (gst_static_pad_template_get),
30099 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30100 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30101 (gst_pad_get_element_private), (gst_pad_start_task),
30102 (gst_pad_pause_task), (gst_pad_stop_task),
30103 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30104 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30105 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30106 (gst_ghost_pad_new):
30108 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30109 (gst_query_new_position), (gst_query_set_position),
30110 (gst_query_parse_position), (gst_query_new_convert),
30111 (gst_query_set_convert), (gst_query_parse_convert):
30113 * gst/gstqueryutils.c:
30114 * gst/gstqueryutils.h:
30115 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30116 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30117 (gst_queue_handle_src_query):
30118 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30119 (gst_element_query_position), (gst_element_query_convert),
30120 (intersect_caps_func), (gst_pad_query_position),
30121 (gst_pad_query_convert):
30123 * tools/gst-inspect.c: (print_pad_info):
30124 * tools/gst-xmlinspect.c: (print_element_info):
30125 Remove old query functions. Ported old code.
30126 Added position/convert helper functions to gstutils.
30127 Reordered gstpad.c code, grouping relevant things.
30128 Remove gst_message_new(), always need to speficy a specific
30132 2005-05-09 Andy Wingo <wingo@pobox.com>
30134 * gst/gstiterator.h: Add some includes.
30136 * gst/gstqueryutils.h: Include more headers.
30139 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30140 some uses of gst_pad_query.
30142 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30143 NULL out parameters.
30144 (gst_query_new_position): New proc, allocates a new position
30147 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30148 gstqueryutils.c to the build.
30150 * gst/gststructure.c (gst_structure_set_valist): Implement with
30151 the generic G_VALUE_COLLECT.
30153 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30155 * gst/Makefile.am: (gst_headers):
30156 Added gstqueryutils.h to the list of headers to install, that was
30157 a 'nachty' move wingo :)
30159 2005-05-06 Andy Wingo <wingo@pobox.com>
30162 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30163 GstData, init a memchunk.
30164 (standard_definitions): Add a few query types, deprecate a few.
30165 (gst_query_get_type): New proc.
30166 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30168 (gst_query_new_application, gst_query_get_structure): New public
30171 * docs/design/draft-query.txt: Removed LINKS from the query types,
30172 because all the rest can be dispatched to other pads -- seemed
30173 ugly to have a query that couldn't be dispatched. internal_links
30174 is fine as a pad method.
30176 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30177 in gstpad.c, but maintain binary compatibility for the moment.
30178 Will fix before 0.9 is out.
30180 * gst/gstqueryutils.c:
30181 * gst/gstqueryutils.h: New files, implement 3 methods for each
30182 query type: parse_query, parse_response, and set. Probably need an
30185 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30187 * gst/elements/gstfilesink.c (gst_filesink_query2):
30188 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30189 query_types, and formats methods.
30191 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30192 (gst_pad_set_query2_function): New functions.
30193 (gst_real_pad_init): Set query2_default as the default query2
30194 function. Basically just dispatches to internally linked pads.
30198 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30199 without using the atomic operations. Only one thread can possibly
30200 be accessing the data at this point. Changed so as to avoid
30201 gst_atomic operations.
30203 2005-05-06 Wim Taymans <wim@fluendo.com>
30205 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30206 Also set caps if we use the fallback buffer alloc.
30208 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30210 * docs/gst/Makefile.am:
30211 * docs/gst/gstreamer-docs.sgml:
30212 * docs/gst/gstreamer-sections.txt:
30213 * docs/gst/tmpl/gstatomic.sgml:
30214 * docs/gst/tmpl/gstmemchunk.sgml:
30215 * testsuite/elements/struct_i386.h:
30216 * win32/GStreamer.vcproj:
30218 Purge GstAtomic stuff from docs and win32 makefiles as well
30220 2005-05-06 Wim Taymans <wim@fluendo.com>
30222 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30223 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30224 * gst/gstpad.c: (gst_pad_peer_get_caps):
30225 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30226 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30227 (gst_queue_src_activate), (gst_queue_change_state):
30229 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30230 (intersect_caps_func):
30231 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30232 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30233 Some fixes for the peer_get_caps() change.
30235 2005-05-06 Wim Taymans <wim@fluendo.com>
30237 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30238 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30239 (gst_basesink_activate):
30240 Actually do something with error codes returned from the push
30243 2005-05-06 Wim Taymans <wim@fluendo.com>
30245 * docs/design/part-element-sink.txt:
30246 * docs/design/part-element-source.txt:
30247 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30248 (gst_basesink_event), (gst_basesink_activate):
30249 * gst/base/gstbasesink.h:
30250 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30251 (gst_basesrc_activate):
30252 * gst/base/gstbasesrc.h:
30253 * gst/gstelement.c: (gst_element_pads_activate):
30254 Some more documentation.
30255 Fixed scheduling decision in _pads_activate().
30257 2005-05-05 Andy Wingo <wingo@pobox.com>
30259 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30262 2005-05-05 Wim Taymans <wim@fluendo.com>
30264 * gst/base/Makefile.am:
30265 * gst/base/gstbasesink.h:
30266 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30267 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30268 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30269 (gst_collectpads_class_init), (gst_collectpads_init),
30270 (gst_collectpads_finalize), (gst_collectpads_new),
30271 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30272 (find_pad), (gst_collectpads_remove_pad),
30273 (gst_collectpads_is_active), (gst_collectpads_collect),
30274 (gst_collectpads_collect_range), (gst_collectpads_start),
30275 (gst_collectpads_stop), (gst_collectpads_peek),
30276 (gst_collectpads_pop), (gst_collectpads_available),
30277 (gst_collectpads_read), (gst_collectpads_flush),
30278 (gst_collectpads_chain):
30279 * gst/base/gstcollectpads.h:
30280 * gst/elements/Makefile.am:
30281 * gst/elements/gstelements.c:
30282 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30283 (gst_fakesink_get_times), (gst_fakesink_event),
30284 (gst_fakesink_preroll), (gst_fakesink_render):
30285 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30286 (gst_filesink_init), (gst_filesink_set_location),
30287 (gst_filesink_open_file), (gst_filesink_close_file),
30288 (gst_filesink_pad_query), (gst_filesink_event),
30289 (gst_filesink_render), (gst_filesink_change_state):
30290 * gst/elements/gstfilesink.h:
30291 Added object to help in making collect pad based elements.
30293 Make event function in sink baseclass return gboolean.
30295 2005-05-05 Wim Taymans <wim@fluendo.com>
30297 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30298 (gst_bin_get_by_name):
30300 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30301 (gst_clock_finalize):
30302 * gst/gstdata.c: (gst_data_replace):
30304 * gst/gstelement.c: (gst_element_request_pad),
30305 (gst_element_pads_activate):
30306 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30307 (gst_object_unref):
30308 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30309 (gst_pad_set_checkgetrange_function),
30310 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30311 (gst_pad_check_pull_range), (gst_pad_pull_range),
30312 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30313 (gst_pad_pause_task), (gst_pad_stop_task):
30314 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30315 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30316 Fix name lookup in GstBin.
30317 Added _data_replace() function and _buffer_replace()
30318 Use finalize method to clean up clock.
30319 Fix refcounting on request pads.
30320 Fix pad schedule mode error.
30321 Some more object refcounting debug info,
30324 2005-05-04 Andy Wingo <wingo@pobox.com>
30326 * check/Makefile.am:
30327 * docs/gst/tmpl/gstatomic.sgml:
30328 * docs/gst/tmpl/gstplugin.sgml:
30329 * gst/base/gstbasesink.c: (gst_basesink_activate):
30330 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30331 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30332 (gst_basesrc_query), (gst_basesrc_set_property),
30333 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30334 (gst_basesrc_activate):
30335 * gst/base/gstbasesrc.h:
30336 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30337 (gst_base_transform_src_activate):
30338 * gst/elements/gstelements.c:
30339 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30340 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30341 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30342 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30343 (gst_type_find_element_checkgetrange),
30344 (gst_type_find_element_activate):
30345 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30346 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30347 (gst_caps_load_thyself):
30348 * gst/gstelement.c: (gst_element_pads_activate),
30349 (gst_element_save_thyself), (gst_element_restore_thyself):
30350 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30351 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30353 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30354 (gst_xml_parse_file), (gst_xml_parse_memory),
30355 (gst_xml_get_element), (gst_xml_make_element):
30356 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30357 (_file_index_id_save_xml), (gst_file_index_commit):
30358 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30359 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30361 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30362 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30363 * tools/gst-complete.c: (main):
30364 * tools/gst-compprep.c: (main):
30365 * tools/gst-inspect.c: (print_element_properties_info):
30366 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30367 * tools/gst-xmlinspect.c: (print_element_properties):
30370 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30372 * gst/gstplugin.c: (gst_plugin_check_module),
30373 (gst_plugin_check_file), (gst_plugin_load_file):
30374 apply patch from #172526 to make register work on MacOSX
30376 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30378 * docs/gst/tmpl/gstconfig.sgml:
30379 * gst/gstconfig.h.in:
30380 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30381 * testsuite/debug/printf_extension.c: (main):
30382 Do not use GST_PTR_FORMAT on pointers to types with
30383 sizeof < sizeof(gpointer). Fixes test on 64-bit
30384 * testsuite/elements/property.h:
30385 use correct printf format
30387 2005-05-02 Wim Taymans <wim@fluendo.com>
30389 * docs/design/draft-push-pull.txt:
30390 * docs/design/draft-query.txt:
30391 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30392 (gst_basesrc_start):
30393 Added draft for new query API.
30394 Added draft for better selecting scheduling methods.
30395 Make basesrc ignore length if the subclass does not support
30398 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30401 possible fixes for automake-1.5 - _LIBADD is reserved
30403 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30405 * docs/faq/Makefile.am:
30406 * docs/manual/Makefile.am:
30407 * docs/manuals.mak:
30408 * docs/pwg/Makefile.am:
30410 possible fixes for automake-1.5
30412 2005-04-28 Wim Taymans <wim@fluendo.com>
30414 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30415 (gst_basesink_pad_getcaps), (gst_basesink_init),
30416 (gst_basesink_do_sync):
30417 * gst/gstclock.c: (gst_clock_entry_new):
30418 * gst/gstevent.c: (gst_event_discont_get_value):
30419 * gst/gstpipeline.c: (pipeline_bus_handler),
30420 (gst_pipeline_change_state):
30421 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30422 Better debugging of clocking info.
30423 Allow NULL values when getting discont values.
30425 2005-04-27 Wim Taymans <wim@fluendo.com>
30427 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30428 * check/gst/gstpad.c: (gst_pad_suite):
30429 Increase timeout for checks.
30431 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30433 * check/Makefile.am:
30434 fix the broken rule for cleanup. Apparently this rule is
30435 only needed on FC2, so maybe this warrants further autotool
30438 2005-04-26 Wim Taymans <wim@fluendo.com>
30440 * gst/gsttrashstack.h:
30441 Ooohh. a nasty one! After having a failed pop() from the stack,
30442 it's possible that the stack is empty. In that case, don't
30443 follow the NULL pointer.
30445 2005-04-25 Wim Taymans <wim@fluendo.com>
30447 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30448 (gst_pad_set_checkgetrange_function),
30449 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30450 (gst_pad_check_pull_range), (gst_pad_pull_range),
30451 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30452 (gst_pad_pause_task), (gst_pad_stop_task):
30453 * gst/gstplugin.c: (gst_plugin_load):
30455 Remove gst_library_load as it does more harm than good with
30456 the new g_module flags.
30457 Revert bogus caps template check in pad linking, pad caps
30458 are important when linking not the template, which is more
30459 general than the current caps.
30461 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30463 * gst/autoplug/.cvsignore:
30464 * gst/autoplug/Makefile.am:
30465 * gst/autoplug/gstsearchfuncs.c:
30466 * gst/autoplug/gstsearchfuncs.h:
30467 * gst/autoplug/gstspider.c:
30468 * gst/autoplug/gstspider.h:
30469 * gst/autoplug/gstspideridentity.c:
30470 * gst/autoplug/gstspideridentity.h:
30471 * gst/autoplug/spidertest.c:
30474 2005-04-25 Wim Taymans <wim@fluendo.com>
30476 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30477 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30478 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30479 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30481 Added stubs for unimplemented functions.
30483 2005-04-24 David Schleef <ds@schleef.org>
30485 * gst/gstpad.h: Disable some unimplemented functions. Wim,
30488 2005-04-24 David Schleef <ds@schleef.org>
30490 Convert everything from GstAtomicInt to g_atomic_int_*, and
30495 * gst/gstatomic_impl.h:
30503 * gst/gstdata_private.h:
30507 * gst/gstmessage.c:
30510 * gst/gststructure.c:
30511 * gst/gststructure.h:
30512 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30515 2005-04-24 David Schleef <ds@schleef.org>
30517 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30518 make the regressions tests work. Remove some code that is no
30520 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30521 Disable warning for pads without templates.
30523 2005-04-24 David Schleef <ds@schleef.org>
30525 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
30526 functions that handle filtered links.
30527 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30529 * gst/gstutils.c: Fix/remove utility functions that handle
30532 * gst/gstvalue.c: Add serialization/deserialization of caps
30533 * gst/parse/grammar.y: Ignore filtered caps when linking. This
30534 requires fixing so that the filter caps notation creates
30535 a capsfilter element and sets the filter_caps property. I
30536 think everyone probably wants to keep the shorthand notation.
30537 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30538 * docs/gst/tmpl/gstpad.sgml:
30540 * gst/elements/gstelements.c: Register capsfilter element.
30541 * gst/Makefile.am: fix spacing
30542 * docs/random/ds/0.9-suggested-changes: random
30544 2005-04-23 David Schleef <ds@schleef.org>
30546 * gst/elements/Makefile.am:
30547 * gst/elements/gstcapsfilter.c: New element that acts like an
30548 identity, but filters caps. Will eventually replace filtered
30549 caps in pad linking.
30550 * gst/gstutils.c: (gst_element_create_all_pads): New function
30551 to create all the ALWAYS pads that are registered with an
30552 element class. This functionality should eventually be
30553 merged in with GstElement initialization.
30555 * testsuite/trigger/README: part of trigger test code that should
30556 have been checked in a long time ago.
30558 2005-04-23 David Schleef <ds@schleef.org>
30560 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
30561 needed with new versions of libtool (nobody will confirm this),
30562 and hard to carry around.
30563 * gst/autoplug/Makefile.am:
30564 * gst/base/Makefile.am:
30565 * gst/elements/Makefile.am:
30566 * gst/indexers/Makefile.am:
30567 * gst/schedulers/Makefile.am:
30568 * libs/gst/bytestream/Makefile.am:
30569 * libs/gst/control/Makefile.am:
30570 * libs/gst/dataprotocol/Makefile.am:
30571 * libs/gst/getbits/Makefile.am:
30573 2005-04-21 Wim Taymans <wim@fluendo.com>
30575 * docs/design/draft-push-pull.txt:
30576 * docs/design/part-MT-refcounting.txt:
30577 * docs/design/part-TODO.txt:
30578 * docs/design/part-caps.txt:
30579 * docs/design/part-events.txt:
30580 * docs/design/part-gstbus.txt:
30581 * docs/design/part-gstpipeline.txt:
30582 * docs/design/part-messages.txt:
30583 * docs/design/part-push-pull.txt:
30584 * docs/design/part-query.txt:
30587 2005-04-21 Wim Taymans <wim@fluendo.com>
30589 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30590 (gst_message_new), (gst_message_new_error),
30591 (gst_message_new_warning), (gst_message_new_tag),
30592 (gst_message_new_state_changed), (gst_message_new_application),
30593 (gst_message_get_structure):
30594 * gst/gstmessage.h:
30595 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30596 (gst_structure_copy_conditional):
30597 Use parent refcount in GstMessage to ensure GstStructure
30599 Cleaned up headers a bit.
30602 2005-04-20 Wim Taymans <wim@fluendo.com>
30604 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30605 (gst_basesink_pad_getcaps), (gst_basesink_init),
30606 (gst_basesink_chain_unlocked):
30607 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30608 (gst_type_find_helper):
30609 * gst/elements/gsttypefindelement.c:
30610 (gst_type_find_element_have_type), (gst_type_find_element_init),
30611 (stop_typefinding), (gst_type_find_element_handle_event),
30612 (find_suggest), (gst_type_find_element_chain),
30613 (gst_type_find_element_checkgetrange),
30614 (gst_type_find_element_getrange), (do_typefind),
30615 (gst_type_find_element_activate):
30616 * gst/gstbuffer.c: (_gst_buffer_sub_free),
30617 (gst_buffer_default_free), (gst_buffer_default_copy),
30618 (gst_buffer_set_caps):
30619 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30620 (gst_caps_replace):
30621 * gst/gstmessage.c: (gst_message_new),
30622 (gst_message_new_state_changed):
30623 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30624 (gst_pad_set_checkgetrange_function),
30625 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30626 (gst_pad_set_caps), (gst_pad_check_pull_range),
30627 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30629 * gst/gsttypefind.c: (gst_type_find_register):
30630 Make gst_caps_replace() work like other _replace() functions.
30631 Use _caps_replace() where possible.
30632 Make sure _message_new() initialises its field.
30633 Add gst_static_pad_template_get_caps()
30636 2005-04-18 Andy Wingo <wingo@pobox.com>
30638 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30639 on the peer, not the pad. I think that was a typo. Pass an extra
30640 arg to see if random access is possible. Activate the pads as
30641 PULL_RANGE if possible.
30643 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30645 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
30646 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30649 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30651 * docs/faq/using.xml:
30652 Add note on gstreamer-properties (#154996).
30654 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30656 * docs/random/bbb/optional-properties:
30657 Some analysis on optional properties.
30659 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30661 * docs/gst/tmpl/gstelementfactory.sgml:
30662 * gst/gstelement.h:
30663 * gst/gstelementfactory.c: (gst_element_factory_init),
30664 (gst_element_factory_cleanup), (gst_element_register),
30665 (__gst_element_factory_add_static_pad_template),
30666 (gst_element_factory_get_static_pad_templates),
30667 (gst_element_factory_can_src_caps),
30668 (gst_element_factory_can_sink_caps):
30669 * gst/registries/Makefile.am:
30670 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30671 (gst_xml_registry_class_init), (gst_xml_registry_init),
30672 (gst_xml_registry_new), (gst_xml_registry_set_property),
30673 (gst_xml_registry_get_property), (get_time), (make_dir),
30674 (gst_xml_registry_get_perms_func),
30675 (plugin_times_older_than_recurse), (plugin_times_older_than),
30676 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30677 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30678 (add_to_char_array), (read_string), (read_uint), (read_enum),
30679 (load_pad_template), (load_feature), (load_plugin), (load_paths),
30680 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30681 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30682 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30683 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30684 (gst_xml_registry_rebuild):
30685 * gst/registries/gstlibxmlregistry.h:
30686 * tools/gst-compprep.c: (main):
30687 * tools/gst-inspect.c: (print_pad_templates_info):
30688 * tools/gst-xmlinspect.c: (print_element_info):
30689 Use libxml2 for registry parsing, use staticpadtemplates in
30690 elementfactories. Makes gst_init() +/- 10x faster.
30692 2005-04-12 Wim Taymans <wim@fluendo.com>
30694 * gst/base/Makefile.am:
30695 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30696 (gst_basesink_pad_getcaps), (gst_basesink_init),
30697 (gst_basesink_event), (gst_basesink_change_state):
30698 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30699 (gst_basesrc_init), (gst_basesrc_query),
30700 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30701 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30702 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30703 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30704 (gst_basesrc_stop), (gst_basesrc_activate),
30705 (gst_basesrc_change_state):
30706 * gst/base/gsttypefindhelper.c: (helper_find_peek),
30707 (helper_find_suggest), (gst_type_find_helper):
30708 * gst/base/gsttypefindhelper.h:
30709 * gst/elements/Makefile.am:
30710 * gst/elements/gstelements.c:
30711 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30712 (gst_fakesink_get_times), (gst_fakesink_event),
30713 (gst_fakesink_preroll), (gst_fakesink_render):
30714 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30715 (gst_fakesrc_init), (gst_fakesrc_event_handler),
30716 (gst_fakesrc_get_property), (gst_fakesrc_create),
30717 (gst_fakesrc_start), (gst_fakesrc_stop):
30718 * gst/elements/gstfakesrc.h:
30719 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30720 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30721 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30722 (gst_filesrc_create_read), (gst_filesrc_create),
30723 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30724 (gst_filesrc_start):
30725 * gst/elements/gsttypefindelement.c:
30726 (gst_type_find_element_have_type), (gst_type_find_element_init),
30727 (start_typefinding), (stop_typefinding), (push_buffer_store),
30728 (gst_type_find_element_handle_event),
30729 (gst_type_find_element_chain),
30730 (gst_type_find_element_checkgetrange),
30731 (gst_type_find_element_getrange), (do_typefind),
30732 (gst_type_find_element_activate),
30733 (gst_type_find_element_change_state):
30734 * gst/elements/gsttypefindelement.h:
30735 * gst/gstpipeline.c: (pipeline_bus_handler):
30736 Added typefind helper.
30737 Small preroll fix in the base sink.
30738 Disable typefind code in basesrc.
30739 Crude port of typefindelement.
30743 2005-04-11 Wim Taymans <wim@fluendo.com>
30745 * check/gst/gstbus.c: (gstbus_suite):
30746 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30747 * check/gstcheck.h:
30748 Fix up the timeout so that the test does not fail.
30750 2005-04-06 Wim Taymans <wim@fluendo.com>
30753 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30754 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30755 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30756 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30757 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30758 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30759 (gst_basesrc_stop), (gst_basesrc_activate),
30760 (gst_basesrc_change_state), (basesrc_find_peek),
30761 (basesrc_find_suggest), (gst_basesrc_type_find):
30762 * gst/base/gstbasesrc.h:
30763 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30764 (gst_filesrc_class_init), (gst_filesrc_init),
30765 (gst_filesrc_finalize), (gst_filesrc_set_location),
30766 (gst_filesrc_set_property), (gst_filesrc_get_property),
30767 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30768 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30769 (gst_filesrc_create_read), (gst_filesrc_create),
30770 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30771 * gst/elements/gstfilesrc.h:
30772 * gst/gstelement.c: (gst_element_get_state_func),
30773 (gst_element_lost_state), (gst_element_pads_activate):
30774 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30775 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30776 (gst_pad_pull_range):
30778 More work on the generic source base class, implement seeking,
30780 Make filesrc extend the base source class.
30781 Added gst_pad_set_checkgetrange_function to GstPad.
30783 2005-04-06 Andy Wingo <wingo@pobox.com>
30785 * pkgconfig/gstreamer-base.pc.in:
30786 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
30788 * pkgconfig/Makefile.am:
30789 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
30791 2005-04-04 Wim Taymans <wim@fluendo.com>
30793 * gst/base/Makefile.am:
30795 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30796 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30797 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30798 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
30799 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30800 (gst_basesrc_base_init), (gst_basesrc_class_init),
30801 (gst_basesrc_init), (gst_basesrc_get_formats),
30802 (gst_basesrc_get_query_types), (gst_basesrc_query),
30803 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30804 (gst_basesrc_set_property), (gst_basesrc_get_property),
30805 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30806 (gst_basesrc_loop), (gst_basesrc_activate),
30807 (gst_basesrc_change_state):
30808 * gst/base/gstbasesrc.h:
30809 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30810 (gst_fakesrc_class_init), (gst_fakesrc_init),
30811 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30812 (gst_fakesrc_get_property), (gst_fakesrc_create):
30813 * gst/elements/gstfakesrc.h:
30814 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30815 (gst_filesrc_open_file), (gst_filesrc_loop),
30816 (gst_filesrc_activate), (filesrc_find_peek),
30817 (gst_filesrc_type_find):
30818 Made base source class, make fakesrc extend it.
30819 Add comments to basesink class.
30820 Some filesrc cleanup.
30822 2005-03-31 David Schleef <ds@schleef.org>
30824 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
30825 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
30826 expected to link against libgstreamer.
30827 * gst/base/Makefile.am: link against libgstreamer
30828 * gst/elements/Makefile.am: same
30830 2005-03-31 Andy Wingo <wingo@pobox.com>
30832 * tests/instantiate/Makefile.am:
30833 * tests/instantiate/caps.c: Add test to test speed of caps copy
30836 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
30837 GMemChunk to be fair.
30839 * gst/gsttrashstack.h: Remove warning about using the fallback
30840 trash stack implementation, it's still faster than malloc.
30842 2005-03-30 Andy Wingo <wingo@pobox.com>
30844 * tests/complexity.c: Add a copyright.
30846 2005-03-31 Wim Taymans <wim@fluendo.com>
30848 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
30849 (gst_base_transform_class_init), (gst_base_transform_init),
30850 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
30851 (gst_base_transform_get_property),
30852 (gst_base_transform_sink_activate),
30853 (gst_base_transform_src_activate),
30854 (gst_base_transform_change_state):
30855 * gst/base/gstbasetransform.h:
30856 * gst/elements/gstidentity.c: (gst_identity_class_init),
30857 (gst_identity_event), (gst_identity_check_perfect),
30858 (gst_identity_transform), (gst_identity_start),
30859 (gst_identity_stop):
30860 Added start/stop methods to transform base class so subclasses
30861 don't need to deal with state changes even.
30863 2005-03-31 Wim Taymans <wim@fluendo.com>
30865 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
30866 (gst_event_new_discontinuous), (gst_event_discont_get_value):
30868 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30869 (gst_pad_pull_range):
30870 Added rate to the discont event to prepare for variable speed
30871 and reverse playback.
30873 2005-03-29 David Schleef <ds@schleef.org>
30876 * testsuite/trigger/Makefile.am:
30877 * testsuite/trigger/trigger.c: A little example program to show
30878 how trigger-based elements can work.
30880 2005-03-29 Wim Taymans <wim@fluendo.com>
30882 * gst/base/Makefile.am:
30884 * gst/base/gstbasesink.c: (gst_basesink_get_type),
30885 (gst_basesink_base_init), (gst_basesink_class_init),
30886 (gst_basesink_pad_getcaps), (gst_basesink_init),
30887 (gst_basesink_activate), (gst_basesink_change_state):
30888 * gst/base/gstbasesink.h:
30889 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
30890 (gst_base_transform_base_init), (gst_base_transform_finalize),
30891 (gst_base_transform_class_init), (gst_base_transform_init),
30892 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
30893 (gst_base_transform_event), (gst_base_transform_getrange),
30894 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
30895 (gst_base_transform_set_property),
30896 (gst_base_transform_get_property),
30897 (gst_base_transform_sink_activate),
30898 (gst_base_transform_src_activate),
30899 (gst_base_transform_change_state):
30900 * gst/base/gstbasetransform.h:
30901 * gst/elements/gstidentity.c: (gst_identity_finalize),
30902 (gst_identity_class_init), (gst_identity_init),
30903 (gst_identity_event), (gst_identity_check_perfect),
30904 (gst_identity_transform), (gst_identity_set_property),
30905 (gst_identity_get_property), (gst_identity_change_state):
30906 * gst/elements/gstidentity.h:
30907 * gst/gstelement.c: (gst_element_get_state_func),
30908 (gst_element_lost_state), (gst_element_pads_activate):
30909 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30910 (gst_pad_check_pull_range), (gst_pad_pull_range):
30912 Simplify pad activation.
30913 Added function to check if pull_range can be performed.
30914 Error out when pulling inactive or flushing pads.
30915 Removed const from refcounted types as it does not make sense.
30916 Simplify pad templates in basesink
30917 Added base class for simple 1-to-1 transforms.
30918 Make identity subclass the base transform.
30920 2005-03-29 Andy Wingo <wingo@pobox.com>
30922 * docs/libs/gstreamer-libs-overrides.txt:
30923 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
30924 really don't understand what's going on, but like whatever. I want
30927 * docs/gst/Makefile.am:
30928 * docs/libs/Makefile.am: Dist the overrides files.
30930 * check/Makefile.am (clean-local): Remove .libs directories.
30932 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
30933 elements to EXTRA_DIST, so po/ files are happy.
30935 * po/POTFILES.in: Er, remove it here.
30937 * po/POTFILES: Remove gstspider.c.
30939 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
30941 * docs/libs/gstreamer-libs-docs.sgml:
30942 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
30945 * tests/complexity.c (main): Set the length of the preroll queue
30946 on the sinks to prevent a lockup.
30948 * libs/gst/dataprotocol/Makefile.am:
30949 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
30950 the same as the one in check/gst-libs/gdp.c.
30952 * po/, docs/gst/: Commit automatic changes to docs and po files.
30954 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
30955 the versioned libgstbase.
30957 * check/Makefile.am: Depend on an unversioned gst-register, seems
30958 to make autoconf happier.
30960 * gst/base/Makefile.am: Make libgstbase a versioned lib.
30962 2005-03-28 Wim Taymans <wim@fluendo.com>
30965 * docs/design/part-gstelement.txt:
30966 * docs/design/part-negotiation.txt:
30967 * docs/design/part-preroll.txt:
30968 * docs/design/part-scheduling.txt:
30969 * docs/design/part-states.txt:
30971 * gst/base/Makefile.am:
30973 * gst/base/gstbasesink.c: (gst_basesink_get_template),
30974 (gst_basesink_base_init), (gst_basesink_class_init),
30975 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30976 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30977 (gst_basesink_set_pad_functions),
30978 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
30979 (gst_basesink_set_property), (gst_basesink_get_property),
30980 (gst_base_sink_get_template), (gst_base_sink_get_caps),
30981 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
30982 (gst_basesink_preroll_queue_push),
30983 (gst_basesink_preroll_queue_empty),
30984 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
30985 (gst_basesink_event), (gst_basesink_get_times),
30986 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
30987 (gst_basesink_chain_unlocked), (gst_basesink_chain),
30988 (gst_basesink_loop), (gst_basesink_activate),
30989 (gst_basesink_change_state):
30990 * gst/base/gstbasesink.h:
30991 * gst/elements/Makefile.am:
30992 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
30993 (gst_fakesink_class_init), (gst_fakesink_init),
30994 (gst_fakesink_set_property), (gst_fakesink_get_property),
30995 (gst_fakesink_get_times), (gst_fakesink_event),
30996 (gst_fakesink_preroll), (gst_fakesink_render),
30997 (gst_fakesink_change_state):
30998 * gst/elements/gstfakesink.h:
30999 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31000 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31001 * gst/gstelement.c: (gst_element_add_pad),
31002 (gst_element_get_state_func), (gst_element_abort_state),
31003 (gst_element_commit_state), (gst_element_lost_state),
31004 (gst_element_set_state), (gst_element_pads_activate):
31005 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31006 * gst/gstpipeline.c: (gst_pipeline_send_event),
31007 (gst_pipeline_change_state):
31008 Added state change code.
31009 Added/updated docs.
31010 Added sink base class, make fakesink extend the base class.
31011 Small cleanups in GstPipeline.
31013 2005-03-26 David Schleef <ds@schleef.org>
31015 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31016 is broken and should be implemented in a different library.
31017 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31018 * gst/gst.h: remove gstcpu.h
31019 * gst/gstcpu.c: remove
31020 * gst/gstcpu.h: remove
31021 * gst/Makefile.am.future: Remove this file. It's ancient.
31023 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31025 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31026 (gst_bin_send_event):
31027 Add default event/set_manager handlers. The set_manager handler
31028 takes care that the manager is distributed over kids that were
31029 already in the bin before the manager was set. The event handler
31030 is a utility virtual function that sends the event over all sinks,
31031 so that gst_element_send_event (bin, event); has the expected
31033 * gst/gstpad.c: (gst_pad_event_default):
31034 Re-install default event handling for discontinuities, so that
31035 seeking works without requiring hacks in applications or extra
31037 * gst/gstpipeline.c: (gst_pipeline_class_init),
31038 (gst_pipeline_send_event):
31039 Half hack, half utility: set a pipeline to PAUSED for seek events,
31040 since that is the only way we can guarantee a/v sync. Means that
31041 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31042 and it "just works".
31044 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31046 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31047 Lock/unlock mismatch.
31049 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31051 * docs/faq/gst-uninstalled:
31052 add gst-plugins-base
31053 * docs/gst/Makefile.am:
31054 don't error out until docs are fixed
31055 * docs/gst/gstreamer.types:
31058 2005-03-22 Wim Taymans <wim@fluendo.com>
31060 * check/Makefile.am:
31061 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31062 * gst/gststructure.c: (gst_structure_set_valist),
31063 (gst_structure_copy_conditional):
31064 Activated more tests.
31065 Added message test.
31066 Added G_TYPE_POINTER to GstStructure.
31069 2005-03-22 Wim Taymans <wim@fluendo.com>
31071 * docs/design/part-TODO.txt:
31072 * docs/design/part-events.txt:
31073 * docs/design/part-gstbin.txt:
31074 * docs/design/part-gstbus.txt:
31075 * docs/design/part-gstpipeline.txt:
31076 * docs/design/part-messages.txt:
31078 * gst/gstmessage.c:
31081 2005-03-21 Wim Taymans <wim@fluendo.com>
31083 * gst/gstbus.c: (gst_bus_post):
31084 Fix copy-and-paste error.
31086 2005-03-21 Wim Taymans <wim@fluendo.com>
31088 * check/Makefile.am:
31090 * gst/elements/Makefile.am:
31091 * gst/elements/gstelements.c:
31092 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31093 (gst_fakesink_event), (gst_fakesink_chain):
31094 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31095 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31096 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31097 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31098 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31099 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31100 (gst_fakesrc_loop), (gst_fakesrc_activate),
31101 (gst_fakesrc_change_state):
31102 * gst/elements/gstfakesrc.h:
31103 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31104 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31105 (gst_filesrc_open_file), (gst_filesrc_loop),
31106 (gst_filesrc_activate), (gst_filesrc_change_state),
31107 (filesrc_find_peek), (filesrc_find_suggest),
31108 (gst_filesrc_type_find):
31109 * gst/elements/gstidentity.c: (gst_identity_finalize),
31110 (gst_identity_class_init), (gst_identity_init),
31111 (gst_identity_proxy_getcaps), (identity_queue_push),
31112 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31113 (gst_identity_getrange), (gst_identity_chain),
31114 (gst_identity_sink_loop), (gst_identity_src_loop),
31115 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31116 (gst_identity_set_property), (gst_identity_get_property),
31117 (gst_identity_change_state):
31118 * gst/elements/gstidentity.h:
31119 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31120 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31121 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31122 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31123 (gst_tee_sink_activate):
31124 * gst/elements/gsttee.h:
31125 * gst/gst.c: (gst_register_core_elements), (init_post):
31127 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31128 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31129 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31130 (gst_bin_change_state):
31132 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31133 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31134 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31135 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31136 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31137 (bus_watch_callback), (bus_watch_destroy),
31138 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31139 (poll_timeout), (gst_bus_poll):
31143 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31144 (gst_element_post_message), (gst_element_message_full),
31145 (gst_element_get_state_func), (gst_element_get_state),
31146 (gst_element_abort_state), (gst_element_commit_state),
31147 (gst_element_lost_state), (gst_element_set_state),
31148 (gst_element_pads_activate), (gst_element_change_state),
31149 (gst_element_dispose), (gst_element_set_manager_func),
31150 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31151 (gst_element_set_manager), (gst_element_get_manager),
31152 (gst_element_set_bus), (gst_element_get_bus),
31153 (gst_element_set_scheduler), (gst_element_get_scheduler):
31154 * gst/gstelement.h:
31155 * gst/gstevent.c: (gst_event_new_segment_seek),
31156 (gst_event_new_flush):
31158 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31159 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31160 (gst_message_new_eos), (gst_message_new_error),
31161 (gst_message_new_warning), (gst_message_new_tag),
31162 (gst_message_new_state_changed), (gst_message_new_application),
31163 (gst_message_get_structure), (gst_message_parse_tag),
31164 (gst_message_parse_state_changed), (gst_message_parse_error),
31165 (gst_message_parse_warning):
31166 * gst/gstmessage.h:
31167 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31168 (gst_real_pad_set_property), (gst_pad_set_active),
31169 (gst_pad_is_active), (gst_pad_set_blocked_async),
31170 (gst_pad_set_blocked), (gst_pad_is_blocked),
31171 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31172 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31173 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31174 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31175 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31176 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31177 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31178 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31179 (gst_pad_set_caps), (gst_pad_configure_sink),
31180 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31181 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31182 (gst_real_pad_dispose), (gst_real_pad_finalize),
31183 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31184 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31185 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31187 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31188 (pipeline_bus_handler), (gst_pipeline_change_state),
31189 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31190 * gst/gstpipeline.h:
31192 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31193 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31194 (gst_queue_link_src), (gst_queue_bufferalloc),
31195 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31196 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31197 (gst_queue_loop), (gst_queue_handle_src_event),
31198 (gst_queue_handle_src_query), (gst_queue_src_activate),
31199 (gst_queue_change_state):
31201 * gst/gstscheduler.c: (gst_scheduler_init),
31202 (gst_scheduler_dispose), (gst_scheduler_create_task),
31203 (gst_scheduler_factory_create):
31204 * gst/gstscheduler.h:
31205 * gst/gststructure.c: (gst_structure_get_type),
31206 (gst_structure_copy_conditional):
31207 * gst/gststructure.h:
31208 * gst/gsttaginterface.h:
31209 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31210 (gst_task_init), (gst_task_dispose), (gst_task_create),
31211 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31217 * gst/schedulers/Makefile.am:
31218 * gst/schedulers/cothreads_compat.h:
31219 * gst/schedulers/entryscheduler.c:
31220 * gst/schedulers/faircothreads.c:
31221 * gst/schedulers/faircothreads.h:
31222 * gst/schedulers/fairscheduler.c:
31223 * gst/schedulers/gstbasicscheduler.c:
31224 * gst/schedulers/gstoptimalscheduler.c:
31225 * gst/schedulers/gthread-cothreads.h:
31226 * gst/schedulers/threadscheduler.c:
31227 (gst_thread_scheduler_task_get_type),
31228 (gst_thread_scheduler_task_class_init),
31229 (gst_thread_scheduler_task_init),
31230 (gst_thread_scheduler_task_start),
31231 (gst_thread_scheduler_task_stop),
31232 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31233 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31234 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31235 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31237 * libs/gst/Makefile.am:
31238 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31239 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31240 (gst_file_pad_parent_set):
31241 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31242 (gst_dp_event_from_packet):
31243 * tests/complexity.c: (main):
31244 * tests/mass_elements.c: (main):
31245 * testsuite/states/locked.c: (message_received), (main):
31246 * testsuite/states/parent.c: (main):
31247 * tools/gst-inspect.c: (print_element_flag_info),
31248 (print_implementation_info), (print_pad_info):
31249 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31251 * tools/gst-md5sum.c: (event_loop), (main):
31252 * tools/gst-typefind.c: (main):
31253 * tools/gst-xmlinspect.c: (print_element_info):
31255 Added GstBus for mainloop integration.
31256 Added GstMessage for sending notifications on the bus.
31257 Added GstTask as an abstraction for pipeline entry points.
31259 Removed Schedulers.
31260 Simplified GstQueue for multithreaded core.
31261 Made _link threadsafe, removed old capsnego.
31262 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31263 Added pad blocking functions.
31264 Reworked scheduling functions in GstPad to prepare for
31265 scheduling updates soon.
31266 Moved events out of data stream.
31267 Simplified GstEvent types.
31268 Added return values to push/pull.
31269 Removed clocking from GstElement.
31270 Added prototypes for state change function for next merge.
31271 Removed iterate from bins and state change management.
31272 Fixed some elements, disabled others for now.
31273 Fixed -inspect and -launch.
31274 Added check for GstBus.
31276 2005-03-10 Wim Taymans <wim@fluendo.com>
31278 * docs/design/part-MT-refcounting.txt:
31279 * docs/design/part-clocks.txt:
31280 * docs/design/part-gstelement.txt:
31281 * docs/design/part-gstobject.txt:
31282 * docs/design/part-standards.txt:
31283 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31284 (gst_bin_remove_func), (gst_bin_remove):
31288 * testsuite/clock/clock1.c: (main):
31289 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31291 * testsuite/dlopen/loadgst.c: (do_test):
31292 * testsuite/refcounting/bin.c: (add_remove_test1),
31293 (add_remove_test2), (main):
31294 * testsuite/refcounting/element.c: (main):
31295 * testsuite/refcounting/element_pad.c: (main):
31296 * testsuite/refcounting/pad.c: (main):
31297 * tools/gst-launch.c: (sigint_handler_sighandler):
31298 * tools/gst-typefind.c: (main):
31300 Added doc about clock.
31301 removed gst_bin_iterate_recurse_up(), marked methods
31303 Fix more testsuites.
31305 2005-03-09 Wim Taymans <wim@fluendo.com>
31307 * gst/gstpad.c: (gst_pad_get_direction),
31308 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31309 (gst_pad_collect_valist):
31310 * testsuite/bins/interface.c: (main):
31311 * testsuite/caps/audioscale.c: (test_caps):
31312 * testsuite/caps/caps.c: (test1), (test2), (test3):
31313 * testsuite/caps/deserialize.c: (main):
31314 * testsuite/caps/enumcaps.c: (main):
31315 * testsuite/caps/filtercaps.c: (main):
31316 * testsuite/caps/intersect2.c: (main):
31317 * testsuite/caps/random.c: (main):
31318 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31319 * testsuite/caps/sets.c: (check_caps):
31320 * testsuite/caps/simplify.c: (check_caps), (main):
31321 * testsuite/caps/subtract.c: (check_caps):
31322 Fix _pad_get_direction wrt ghostpads.
31323 Fix caps testsuite.
31325 2005-03-09 Wim Taymans <wim@fluendo.com>
31327 * check/Makefile.am:
31328 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31329 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31330 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31331 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31332 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31333 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31334 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31335 (bin_element_is_sink), (gst_bin_iterate_sinks),
31336 (gst_bin_iterate_all_by_interface):
31338 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31339 (gst_element_change_state), (gst_element_dispose),
31340 (gst_element_finalize), (gst_element_set_loop_function):
31341 * gst/gstelement.h:
31342 * gst/gstiterator.c: (find_custom_fold_func):
31343 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31344 (gst_pad_collectv), (gst_pad_collect_valist),
31345 (gst_pad_template_new):
31346 * gst/gstpipeline.c: (gst_pipeline_class_init),
31347 (gst_pipeline_dispose), (gst_pipeline_set_property),
31348 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31349 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31350 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31352 * gst/schedulers/entryscheduler.c:
31353 * gst/schedulers/gstbasicscheduler.c:
31354 (gst_basic_scheduler_cothreaded_chain),
31355 (gst_basic_scheduler_chain_add_element):
31356 * testsuite/bins/interface.c: (main):
31358 Added GstSystemClock test.
31359 Implemented clock distribution code in GstBin.
31360 Implemented iterate sinks method for future use.
31361 Rearranged gstelement.h
31362 Fix GstIterator comparison bug.
31363 Moved some code to GstPipeline, mostly clocking related.
31365 2005-03-09 Wim Taymans <wim@fluendo.com>
31368 * gst/gst_private.h:
31369 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31370 (gst_bin_remove_func), (gst_bin_remove),
31371 (gst_bin_get_by_name_recurse_up):
31372 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31373 (gst_clock_id_compare_func), (gst_clock_id_wait),
31374 (gst_clock_id_wait_async), (gst_clock_init),
31375 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31376 * gst/gstelement.h:
31377 * gst/gstinfo.c: (_gst_debug_init):
31379 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31380 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31382 Bump version number, we're now 0.9.0
31383 Add future debugging category.
31384 Fix NULL _unref() in _get_by_name_recurse_up
31385 Rearrange gstpad.h.
31388 2005-03-08 Wim Taymans <wim@fluendo.com>
31390 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31391 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31392 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31393 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31394 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31395 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31396 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31397 * gst/elements/gstidentity.c: (gst_identity_class_init):
31398 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31399 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31400 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31401 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31402 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31404 * gst/gstelement.c: (gst_element_class_init),
31405 (gst_element_base_class_init), (gst_element_init),
31406 (gst_element_get_random_pad), (gst_element_wait_state_change),
31407 (gst_element_change_state), (gst_element_dispose),
31408 (gst_element_finalize), (gst_element_set_loop_function):
31409 * gst/gstelement.h:
31410 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31411 * gst/gstthread.c: (gst_thread_class_init),
31412 (gst_thread_release_children_locks), (gst_thread_change_state):
31413 * gst/schedulers/gstbasicscheduler.c:
31414 (gst_basic_scheduler_loopfunc_wrapper),
31415 (gst_basic_scheduler_chain_wrapper),
31416 (gst_basic_scheduler_src_wrapper),
31417 (gst_basic_scheduler_remove_element):
31418 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31419 Remove threadsafe properties. Fix elements because GObject
31420 complains when installing a property before declaring a
31421 set/get_property handler.
31422 Rearrange gstelement.h file, use STATE macros for state locks.
31423 Free mutexes in the finalize method instead of dispose.
31425 2005-03-08 Wim Taymans <wim@fluendo.com>
31427 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31428 * gst/gstthread.c: (gst_thread_release_children_locks):
31429 Added parentage check.
31430 Fix build og GstThread again.
31432 2005-03-08 Wim Taymans <wim@fluendo.com>
31434 * docs/design/part-MT-refcounting.txt:
31435 * docs/design/part-conventions.txt:
31436 * docs/design/part-gstobject.txt:
31437 * docs/design/part-relations.txt:
31438 * docs/design/part-standards.txt:
31439 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31440 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31441 (gst_bin_get_by_name), (gst_bin_get_by_interface),
31442 (gst_bin_iterate_all_by_interface):
31445 * gst/gstelement.c: (gst_element_class_init),
31446 (gst_element_change_state), (gst_element_set_loop_function):
31447 * gst/gstelement.h:
31448 * gst/gstiterator.c:
31449 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31450 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31451 (gst_object_dispatch_properties_changed), (gst_object_set_name),
31452 (gst_object_set_parent), (gst_object_unparent),
31453 (gst_object_check_uniqueness):
31455 Docs updates, clean up some headers.
31457 2005-03-07 Wim Taymans <wim@fluendo.com>
31459 * check/.cvsignore:
31460 * check/Makefile.am:
31461 * check/gst-libs/.cvsignore:
31462 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31463 * check/gst/.cvsignore:
31464 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31465 (START_TEST), (gstbus_suite), (main):
31466 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31467 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31468 (gst_data_suite), (main):
31469 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31470 (add_fold_func), (gstiterator_suite), (main):
31471 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31472 (thread_name_object), (thread_name_object_default),
31473 (gst_object_name_compare), (gst_object_suite), (main):
31474 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31475 (gst_pad_suite), (main):
31476 * check/gstcheck.c: (gst_check_log_message_func),
31477 (gst_check_log_critical_func), (gst_check_init):
31478 * check/gstcheck.h:
31479 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31480 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31483 2005-03-07 Wim Taymans <wim@fluendo.com>
31485 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31486 (gst_list_iterator_next), (gst_list_iterator_resync),
31487 (gst_list_iterator_free), (gst_iterator_new_list),
31488 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31489 (gst_iterator_free), (gst_iterator_push), (filter_next),
31490 (filter_resync), (filter_uninit), (filter_free),
31491 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31492 (gst_iterator_foreach), (find_custom_fold_func),
31493 (gst_iterator_find_custom):
31494 * gst/gstiterator.h:
31495 Added missing files.
31497 2005-03-07 Wim Taymans <wim@fluendo.com>
31501 * docs/design/part-MT-refcounting.txt:
31502 * docs/design/part-conventions.txt:
31503 * docs/design/part-gstobject.txt:
31504 * docs/design/part-relations.txt:
31505 * examples/mixer/mixer.c: (main):
31506 * examples/thread/thread.c: (eos), (main):
31508 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31509 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31510 (gst_spider_plug_from_srcpad):
31511 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31512 (gst_spider_identity_change_state),
31513 (gst_spider_identity_sink_loop_type_finding):
31514 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31515 * gst/elements/gstidentity.c: (gst_identity_init):
31516 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31517 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31518 * gst/elements/gsttypefindelement.c: (free_entry):
31521 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31522 (gst_bin_set_clock_func), (gst_bin_auto_clock),
31523 (gst_bin_set_index), (gst_bin_set_element_sched),
31524 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31525 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31526 (gst_bin_iterate_elements), (iterate_child_recurse),
31527 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31528 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31529 (compare_interface), (gst_bin_get_by_interface),
31530 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31532 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31533 (gst_buffer_default_free), (gst_buffer_default_copy),
31534 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31535 (gst_buffer_create_sub):
31537 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31538 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31539 (gst_caps_unref), (gst_static_caps_get),
31540 (gst_caps_remove_and_get_structure), (gst_caps_append),
31541 (gst_caps_append_structure), (gst_caps_remove_structure),
31542 (gst_caps_copy_nth), (gst_caps_set_simple),
31543 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31544 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31545 (gst_caps_structure_intersect_field), (gst_caps_intersect),
31546 (gst_caps_structure_subtract_field), (gst_caps_subtract),
31547 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31548 (gst_caps_structure_figure_out_union),
31549 (gst_caps_switch_structures), (gst_caps_do_simplify),
31550 (gst_caps_replace), (gst_caps_from_string),
31551 (gst_caps_copy_conditional):
31553 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31554 (_gst_clock_id_free), (gst_clock_id_unref),
31555 (gst_clock_id_compare_func), (gst_clock_id_wait),
31556 (gst_clock_id_wait_async), (gst_clock_class_init),
31557 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31558 (gst_clock_get_time), (gst_clock_set_time_adjust),
31559 (gst_clock_set_property), (gst_clock_get_property):
31562 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31563 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31565 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31566 (gst_element_requires_clock), (gst_element_provides_clock),
31567 (gst_element_set_clock), (gst_element_clock_wait),
31568 (gst_element_wait), (gst_element_set_time_delay),
31569 (gst_element_is_indexable), (gst_element_add_pad),
31570 (gst_element_add_ghost_pad), (gst_element_remove_pad),
31571 (pad_compare_name), (gst_element_get_static_pad),
31572 (gst_element_request_pad), (gst_element_get_request_pad),
31573 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31574 (gst_element_class_get_pad_template_list),
31575 (gst_element_class_get_pad_template), (gst_element_error_func),
31576 (gst_element_get_random_pad), (gst_element_get_event_masks),
31577 (gst_element_send_event), (gst_element_seek),
31578 (gst_element_get_query_types), (gst_element_query),
31579 (gst_element_get_formats), (gst_element_convert),
31580 (gst_element_is_locked_state), (gst_element_set_locked_state),
31581 (gst_element_sync_state_with_parent), (gst_element_change_state),
31582 (gst_element_finalize), (gst_element_yield),
31583 (gst_element_interrupt), (gst_element_set_scheduler),
31584 (gst_element_get_scheduler), (gst_element_set_loop_function):
31585 * gst/gstelement.h:
31587 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31588 (gst_format_get_by_nick), (gst_format_get_details),
31589 (gst_format_iterate_definitions):
31591 * gst/gstindex.c: (gst_index_gtype_resolver):
31594 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31595 (gst_mem_chunk_free):
31596 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31597 (gst_object_ref), (gst_object_unref), (gst_object_sink),
31598 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31599 (gst_object_dispatch_properties_changed),
31600 (gst_object_set_name_default), (gst_object_set_name),
31601 (gst_object_get_name), (gst_object_set_name_prefix),
31602 (gst_object_get_name_prefix), (gst_object_set_parent),
31603 (gst_object_get_parent), (gst_object_unparent),
31604 (gst_object_check_uniqueness), (gst_object_save_thyself),
31605 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31606 (gst_object_set_property), (gst_object_get_property),
31607 (gst_object_get_path_string):
31609 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31610 (gst_real_pad_init), (gst_real_pad_get_property),
31611 (gst_pad_custom_new), (gst_pad_get_direction),
31612 (gst_pad_set_active), (gst_pad_is_active),
31613 (gst_pad_set_event_function), (gst_pad_is_linked),
31614 (gst_pad_link_free), (gst_pad_link_intersect),
31615 (gst_pad_link_fixate), (gst_pad_set_caps),
31616 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31617 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31618 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31619 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31620 (gst_pad_get_caps), (gst_pad_peer_get_caps),
31621 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31622 (gst_pad_realize), (gst_pad_get_allowed_caps),
31623 (gst_real_pad_dispose), (gst_real_pad_finalize),
31624 (gst_pad_collectv), (gst_pad_collect_valist),
31625 (gst_pad_template_dispose), (gst_pad_template_new),
31626 (gst_pad_get_internal_links):
31628 * gst/gstpipeline.c: (gst_pipeline_dispose),
31629 (gst_pipeline_change_state):
31630 * gst/gstpipeline.h:
31632 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31633 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31634 * gst/gstpluginfeature.h:
31635 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31636 * gst/gstquery.c: (_gst_query_type_initialize),
31637 (gst_query_type_register), (gst_query_type_get_by_nick),
31638 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31640 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31641 * gst/gstscheduler.c: (gst_scheduler_add_element),
31642 (gst_scheduler_factory_create):
31643 * gst/gststructure.c: (gst_structure_set_parent_refcount),
31644 (gst_structure_free), (gst_structure_set_name),
31645 (gst_structure_id_set_value), (gst_structure_set_value),
31646 (gst_structure_set_valist), (gst_structure_remove_field),
31647 (gst_structure_remove_fields),
31648 (gst_structure_remove_fields_valist),
31649 (gst_structure_remove_all_fields), (gst_structure_foreach),
31650 (gst_structure_map_in_place),
31651 (gst_caps_structure_fixate_field_nearest_int),
31652 (gst_caps_structure_fixate_field_nearest_double):
31653 * gst/gststructure.h:
31654 * gst/gstsystemclock.c: (gst_system_clock_class_init),
31655 (gst_system_clock_init), (gst_system_clock_dispose),
31656 (gst_system_clock_async_thread),
31657 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31658 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31659 * gst/gstsystemclock.h:
31660 * gst/gsttag.c: (gst_tag_list_add_value_internal),
31661 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31662 * gst/gsttaginterface.c:
31663 * gst/gstthread.c: (gst_thread_dispose),
31664 (gst_thread_release_children_locks), (gst_thread_change_state),
31665 (gst_thread_main_loop):
31666 * gst/gsttrashstack.h:
31667 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31669 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31670 (gst_element_request_pad), (gst_element_get_pad_from_template),
31671 (gst_element_request_compatible_pad),
31672 (gst_element_get_compatible_pad_filtered),
31673 (gst_element_get_compatible_pad), (gst_element_state_get_name),
31674 (gst_element_link_pads_filtered), (gst_element_link_filtered),
31675 (gst_element_link_many), (gst_element_link),
31676 (gst_element_link_pads), (gst_element_unlink_pads),
31677 (gst_element_unlink_many), (gst_element_unlink),
31678 (gst_pad_can_link_filtered), (gst_pad_can_link),
31679 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31680 (gst_object_default_error), (gst_bin_add_many),
31681 (gst_bin_remove_many), (gst_element_populate_std_props),
31682 (gst_element_class_install_std_props), (gst_buffer_merge),
31683 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31684 (link_fold_func), (gst_pad_proxy_setcaps):
31686 * gst/gstvalue.c: (gst_value_deserialize_string):
31687 * gst/parse/grammar.y:
31688 * gst/schedulers/gstbasicscheduler.c:
31689 (gst_basic_scheduler_cothreaded_chain),
31690 (gst_basic_scheduler_chain_recursive_add),
31691 (gst_basic_scheduler_pad_link):
31692 * gst/schedulers/gstoptimalscheduler.c:
31693 (get_group_schedule_function),
31694 (gst_opt_scheduler_state_transition),
31695 (gst_opt_scheduler_add_element), (element_get_reachables_func):
31696 * libs/gst/bytestream/bytestream.c:
31697 * libs/gst/dataprotocol/dataprotocol.c:
31698 (gst_dp_header_from_buffer):
31701 * tests/threadstate/threadstate2.c: (eos):
31702 * tools/gst-compprep.c: (main):
31703 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31704 (print_pad_info), (print_children_info):
31705 * tools/gst-launch.c: (idle_func), (main):
31706 * tools/gst-md5sum.c: (idle_func), (main):
31707 * tools/gst-xmlinspect.c: (print_element_info):
31708 First THREADED backport attempt, focusing on adding locks and
31709 making sure the API is threadsafe. Needs more work. More docs
31712 2005-02-24 Andy Wingo <wingo@pobox.com>
31714 * tests/bench-complexity.scm:
31715 * tests/complexity.gnuplot: New files, good for running complexity
31718 * tests/Makefile.am:
31719 * tests/complexity.c: New test, sets up N elements, at each level
31720 teeing into M streams per element. Eeeenteresting.
31722 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31723 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31724 running bench-mass_elements.scm.
31726 * tests/bench-mass_elements.scm: New script, runs mass_elements
31727 for various numbers of identities, outputting the results to a
31728 file. Requires guile 1.6. Just for testing.
31730 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
31732 * gst/schedulers/fairscheduler.c:
31733 compile with debug disabled
31735 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
31738 hunting season on 0.9 is now OPEN