Commit graph

4204 commits

Author SHA1 Message Date
Sebastian Dröge 89b0dc88d2 gst/gstregistrybinary.c: Initialize the registry magic with zeroes.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
Initialize the registry magic with zeroes.
2008-04-16 15:51:17 +00:00
Sebastian Dröge 550392c6da gst/gstregistrybinary.*: Add crc32 checksum to the binary registry file and check this before accepting a registry file.
Original commit message from CVS:
* gst/gstregistrybinary.c: (_gst_crc32),
(gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
Add crc32 checksum to the binary registry file and check this before
accepting a registry file.
Also free the data list when writing to the registry file fails.
2008-04-16 14:18:58 +00:00
Sebastian Dröge dc71d29b62 gst/gstregistrybinary.c: If an element supports the Uri interface, returns a valid pointer to the supported URI proto...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin):
If an element supports the Uri interface, returns a valid pointer
to the supported URI protocols but this pointer contains nothing
don't try to save that as it will corrupt the registry.
Don't unref the plugin if we added it to the registry already but
fail to load a feature as gst_registry_add_plugin() takes ownership
of the plugin.
Improve debugging a bit.
2008-04-16 13:16:44 +00:00
Stefan Kost a9a7cf2c79 gst/gsttaglist.h: Clarify some tag item docs after discussion on irc.
Original commit message from CVS:
* gst/gsttaglist.h:
Clarify some tag item docs after discussion on irc.
2008-04-16 08:30:57 +00:00
Stefan Kost 4a638e29d9 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec docs to own section.
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* gst/gstparamspecs.c:
* gst/gstparamspecs.h:
Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
docs to own section.
* gst/gstvalue.c:
This now only documents GValue.
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/controller/gstcontroller.h:
Remove GST_PARAM_CONTROLLABLE.
2008-04-15 06:16:33 +00:00
Sebastian Dröge 42a2ece0d2 gst/gstregistrybinary.c: Fix a typo in a debug message and revert change from yesterday as gst_registry_add_plugin() ...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin):
Fix a typo in a debug message and revert change from yesterday as
gst_registry_add_plugin() will only fail if something is really wrong
already and we can't survive it anyway.
2008-04-14 12:12:22 +00:00
Tim-Philipp Müller 7518460315 gst/gst.c: Pre-register GstGError GType from a thread-safe context (fixes #527967); unref enum type classes in deinit.
Original commit message from CVS:
* gst/gst.c: (init_post), (gst_deinit):
Pre-register GstGError GType from a thread-safe context
(fixes #527967); unref enum type classes in deinit.
2008-04-14 08:48:50 +00:00
Rene Stadler 9530644a17 gst/gsttagsetter.c: Merging an empty list with another list in KEEP_ALL mode should yield an empty list as result and...
Original commit message from CVS:
Patch by: Rene Stadler <mail at renestadler de>
* gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
Merging an empty list with another list in KEEP_ALL mode should
yield an empty list as result and not the second list (#512578).
* tests/check/gst/gsttagsetter.c:
Add unit test for tag merge modes and the aforementioned bug.
2008-04-13 19:58:43 +00:00
Rene Stadler 7323fccbcc gst/gsttaglist.h: Fix description to match the order in the table (#512577).
Original commit message from CVS:
Patch by: Rene Stadler <mail at renestadler de>
* gst/gsttaglist.h:
Fix description to match the order in the table (#512577).
2008-04-13 18:50:05 +00:00
Sebastian Dröge 938da2d4e2 gst/gstregistrybinary.c: If gst_registry_add_plugin() fails our reference to the plugin is invalid so don't try to us...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
If gst_registry_add_plugin() fails our reference to the plugin is
invalid so don't try to use it anymore and instead error out.
2008-04-13 13:54:55 +00:00
Julien Moutte 224b878ff7 Mac OS X love...
Original commit message from CVS:
2008-04-11  Julien Moutte  <julien@fluendo.com>

Mac OS X love...
* configure.ac: Merge platform specific defines, introduce a new
define on OS X to remember that forking when updating registry is
unsafe.
* docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
module.
* gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
is defined.
* gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
condition that leads to absolutely no plugins being registered on
OS X.
2008-04-11 09:27:44 +00:00
José Alburquerque f273ee8c4b Add gst_pad_add_*_probe_full() functions with a notify callback that lets the caller free the data it passes to the p...
Original commit message from CVS:
Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
* gst/gstutils.c: (gst_pad_add_data_probe),
(gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
(gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
(gst_pad_add_buffer_probe_full):
* gst/gstutils.h:
* docs/gst/gstreamer-sections.txt:
* win32/common/libgstreamer.def:
Add gst_pad_add_*_probe_full() functions with a notify callback that
lets the caller free the data it passes to the probe functions. This
is useful for bindings such as gst-python or gstreamermm (#526814).
API: gst_pad_add_data_probe_full
API: gst_pad_add_buffer_probe_full
API: gst_pad_add_event_probe_full
* tests/check/gst/gstutils.c:
Add minimal unit test to make sure freeing the data actually works
as expected.
* tests/benchmarks/.cvsignore:
Random cvsignore addendum.
2008-04-10 20:46:51 +00:00
Tim-Philipp Müller 3a7f2a7040 gst/gstdebugutils.h: Mention GstDebugGraphDetails enum type in doc blurb so we get a link to it in the docs (since th...
Original commit message from CVS:
* gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
(GST_DEBUG_BIN_TO_DOT_FILE):
Mention GstDebugGraphDetails enum type in doc blurb so we get a link
to it in the docs (since these are macros the types of the arguments
won't be shown in the docs otherwise).
2008-04-10 19:13:46 +00:00
Stefan Kost dbbdcf5dd3 gst/gstpad.c: Do not abort on out of memory for pad_alloc_buffer.
Original commit message from CVS:
* gst/gstpad.c:
Do not abort on out of memory for pad_alloc_buffer.
2008-04-10 14:10:51 +00:00
José Alburquerque 9b3f546832 Expose gst_segment_copy() to make things easier for the c++ bindings.
Original commit message from CVS:
Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
* docs/gst/gstreamer-sections.txt:
* gst/gstsegment.c:
* gst/gstsegment.h:
* win32/common/libgstreamer.def:
Expose gst_segment_copy() to make things easier for the c++ bindings.
Fixes #518932.
API: gst_segment_copy()
2008-04-09 22:37:22 +00:00
Tim-Philipp Müller a5575a2819 gst/gst.c: Fix const position; ref GType classes for enum types to work around thread-safety issues in GLib versions ...
Original commit message from CVS:
* gst/gst.c: (gst_init_get_option_group), (init_post):
Fix const position; ref GType classes for enum types to work
around thread-safety issues in GLib versions < 2.16.
2008-04-09 21:27:40 +00:00
Wim Taymans 08beab1f20 docs/design/part-buffering.txt: Fix some typos and set the estimated total for push mode to -1.
Original commit message from CVS:
* docs/design/part-buffering.txt:
Fix some typos and set the estimated total for push mode to -1.
* gst/gstquery.c: (gst_query_new_buffering):
Set buffering-left to 0 as we're not buffering by default.
* libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
Implement BUFFERING query.
2008-04-09 18:26:15 +00:00
Milosz Derezynski caff4eb9a6 gst/gsterror.*: Add two new error codes for encrypted content. Fixes #524659.
Original commit message from CVS:
Based on patch by: Milosz Derezynski <internalerror gmail com>
* gst/gsterror.c: (_gst_stream_errors_init):
* gst/gsterror.h:
Add two new error codes for encrypted content. Fixes #524659.
API: GST_STREAM_ERROR_DECRYPT
API: GST_STREAM_ERROR_DECRYPT_NOKEY
2008-04-09 17:34:54 +00:00
Tim-Philipp Müller 50a1828572 gst/gstquery.h: Fix typo.
Original commit message from CVS:
* gst/gstquery.h:
Fix typo.
* win32/common/libgstreamer.def:
Add new functions.
2008-04-09 13:15:33 +00:00
Wim Taymans 7293b3e7d7 Rename _avail -> _range
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstquery.c: (gst_query_parse_latency),
(gst_query_set_buffering_percent),
(gst_query_parse_buffering_percent),
(gst_query_set_buffering_range), (gst_query_parse_buffering_range):
* gst/gstquery.h:
Rename _avail -> _range
API: gst_query_set_buffering_range
API: gst_query_parse_buffering_range
2008-04-08 20:28:21 +00:00
Wim Taymans 1365624d74 Add busy field and quark for the buffering query so that the app can only use the query to see if buffering is in pro...
Original commit message from CVS:
* docs/design/part-buffering.txt:
* gst/gstquark.c:
* gst/gstquark.h:
* gst/gstquery.c: (gst_query_parse_latency),
(gst_query_new_buffering), (gst_query_set_buffering_percent),
(gst_query_parse_buffering_percent):
* gst/gstquery.h:
Add busy field and quark for the buffering query so that the app can
only use the query to see if buffering is in progress.
2008-04-08 20:17:49 +00:00
Wim Taymans 5e14412c47 Reorder the message docs and headers for clarity.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstmessage.c: (gst_message_set_buffering_stats),
(gst_message_parse_buffering_stats):
* gst/gstmessage.h:
* gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
(gst_query_parse_latency), (gst_query_new_buffering),
(gst_query_set_buffering_percent),
(gst_query_parse_buffering_percent),
(gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
(gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
* gst/gstquery.h:
Reorder the message docs and headers for clarity.
Add aditional buffering stats API for messages.
Add buffering query.
Convert some leftover queries to use GstQuark.
API: gst_message_set_buffering_stats
API: gst_message_parse_buffering_stats
API: GST_QUERY_BUFFERING
API: GstBufferingMode
API: gst_query_new_buffering
API: gst_query_set_buffering_percent
API: gst_query_parse_buffering_percent
API: gst_query_set_buffering_stats
API: gst_query_parse_buffering_stats
API: gst_query_set_buffering_avail
API: gst_query_parse_buffering_avail
2008-04-08 19:59:06 +00:00
Wim Taymans 6215f509c8 gst/gstmessage.c: Use GstQuark for messages.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_info),
(gst_message_new_buffering), (gst_message_new_state_changed),
(gst_message_new_clock_provide), (gst_message_new_clock_lost),
(gst_message_new_new_clock), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_duration),
(gst_message_new_async_start), (gst_message_parse_buffering),
(gst_message_parse_state_changed),
(gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
(gst_message_parse_new_clock), (gst_message_parse_error),
(gst_message_parse_warning), (gst_message_parse_info),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done), (gst_message_parse_duration),
(gst_message_parse_async_start):
Use GstQuark for messages.
2008-04-08 19:52:22 +00:00
Wim Taymans 9c5a343605 gst/gstquark.*: Add some more quarks needed for messages and queries.
Original commit message from CVS:
* gst/gstquark.c: (_priv_gst_quarks_initialize):
* gst/gstquark.h:
Add some more quarks needed for messages and queries.
2008-04-08 19:39:28 +00:00
Tim-Philipp Müller ed1d95d425 gst/gstindex.c: Don't put descriptions into the nick field of a GEnumValue: it's not meant for that and some language...
Original commit message from CVS:
* gst/gstindex.c: (gst_index_resolver_get_type):
Don't put descriptions into the nick field of a GEnumValue: it's not
meant for that and some language bindings rely on the nick field to
construct constants and the like. Fixes #526705.
2008-04-07 13:27:32 +00:00
Damien Lespiau 2c3a6718be gst/gstpoll.c: Fix compilation of GstPoll with mingw32. Fixes bug #526236.
Original commit message from CVS:
Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
* gst/gstpoll.c:
Fix compilation of GstPoll with mingw32. Fixes bug #526236.
2008-04-05 10:58:11 +00:00
Sebastian Dröge 1e0128c47e configure.ac: Require GLib 2.12.
Original commit message from CVS:
* configure.ac:
Require GLib 2.12.
* gst/glib-compat-private.h:
* gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
* gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
Unconditionally use GSlice for allocation.
* gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
* gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
* gst/gststructure.c: (gst_structure_id_empty_new_with_size),
(gst_structure_free):
Use GSlice for allocation.
2008-04-01 13:55:20 +00:00
Sebastian Dröge 91ba942748 gst/parse/: Require a new enough flex and bison and remove the parser hacks to use a pre-regenerated version.
Original commit message from CVS:
* gst/parse/Makefile.am:
* gst/parse/grammar.tab.pre.c:
* gst/parse/grammar.tab.pre.h:
* gst/parse/lex._gst_parse_yy.pre.c:
Require a new enough flex and bison and remove the parser hacks to use
a pre-regenerated version.
2008-04-01 13:48:59 +00:00
Stefan Kost b4c170a205 MacOS has plugins under .so or under .dylib. Add detection for MacOS and handle this case.
Original commit message from CVS:
* configure.ac:
* gst/gstregistry.c:
MacOS has plugins under .so or under .dylib. Add detection for MacOS
and handle this case.
* gst/gst.c:
Add a comment here describing, why we stat each plugin and not try to
be smart.
2008-03-31 13:47:22 +00:00
Stefan Kost e2f65711ee gst/gst.c: Fix type in log message and add one to ease seeing how long registry cache verification takes.
Original commit message from CVS:
* gst/gst.c:
Fix type in log message and add one to ease seeing how long registry
cache verification takes.
* gst/gstregistry.c:
Only test plugin filenames against G_MODULE_SUFFIX.
2008-03-31 08:32:26 +00:00
Stefan Kost 4da82e9b62 gst/gstdebugutils.c: Improve handling ghost/proxy pads.
Original commit message from CVS:
* gst/gstdebugutils.c:
Improve handling ghost/proxy pads.
2008-03-31 07:49:26 +00:00
Stefan Kost 847e64d8ee Expose macro to docs and fix link to it.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpad.c:
* gst/gstpad.h:
Expose macro to docs and fix link to it.
2008-03-27 19:13:45 +00:00
Mark Nauwelaerts 7850967084 Small documentation fixes. Fixes #523978.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/gstclock.h:
* libs/gst/base/gstbasesrc.h:
* libs/gst/base/gstbasetransform.c:
* libs/gst/check/gstcheck.c:
Small documentation fixes. Fixes #523978.
2008-03-24 16:44:25 +00:00
José Alburquerque 126b82fc47 gst/gstcaps.*: Constify the field gchar * params in set_simple and friends.
Original commit message from CVS:
Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
* gst/gstcaps.c: (gst_caps_set_simple),
(gst_caps_set_simple_valist), (gst_caps_intersect):
* gst/gstcaps.h:
Constify the field gchar * params in set_simple and friends.
Fixes #522326.
2008-03-24 10:33:41 +00:00
Wim Taymans 28188a3e6e gst/gstvalue.c: Transform a GstObject to a more meaningfull string that includes the object type in addition to its n...
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_transform_object_string):
Transform a GstObject to a more meaningfull string that includes the
object type in addition to its name.
2008-03-24 10:29:05 +00:00
Sebastian Dröge c375cef8c0 gst/gstregistrybinary.c: Rename constant everywhere and don't forget one occurence.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write):
Rename constant everywhere and don't forget one occurence.
2008-03-23 11:40:54 +00:00
Sebastian Dröge 6c85176725 gst/gstregistrybinary.c: Align memory to the pointer size even if the architecture allows unaligned memory access. Un...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write):
Align memory to the pointer size even if the architecture allows
unaligned memory access. Unaligned memory access usually comes with
performance penality.
2008-03-23 11:29:54 +00:00
Sebastian Dröge 79bd94558c gst/gstregistrybinary.c: Align memory to the pointer size instead of always 32 bit. Fixes unaligned memory accesses o...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin):
Align memory to the pointer size instead of always 32 bit. Fixes
unaligned memory accesses on ia64 and friends.
* gst/gstregistrybinary.h:
Bump binary registry format version for this as it changes the
format on those architectures that don't have unaligned access
and 64 bit pointers.
2008-03-23 11:23:30 +00:00
Sebastian Dröge b0346dff44 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and use it everywhere for GParamSpecs that use static...
Original commit message from CVS:
* docs/pwg/advanced-dparams.xml:
* docs/pwg/building-props.xml:
* docs/pwg/other-source.xml:
* gst/glib-compat.h:
* gst/gstbin.c: (gst_bin_class_init):
* gst/gstclock.c: (gst_clock_class_init):
* gst/gstindex.c: (gst_index_class_init):
* gst/gstobject.c: (gst_object_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstpipeline.c: (gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_class_init):
* libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
* libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
(_gst_check_fault_handler_sighandler),
(_gst_check_fault_handler_setup), (gst_check_init):
* libs/gst/controller/gstcontroller.c:
(_gst_controller_class_init):
* libs/gst/controller/gstlfocontrolsource.c:
(gst_lfo_control_source_class_init):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_class_init):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_class_init):
* plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
use it everywhere for GParamSpecs that use static strings (i.e. all).
This gives us less memory usage, fewer allocations and thus less
memory defragmentation. Fixes bug #523806.
2008-03-22 14:56:17 +00:00
Sebastian Dröge 7fe1bca96a API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
Original commit message from CVS:
* gst/gstminiobject.c: (gst_value_dup_mini_object),
(gst_param_spec_mini_object):
* gst/gstminiobject.h:
* win32/common/libgstreamer.def:
* docs/gst/gstreamer-sections.txt:
API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
GstParamSpecMiniObject into a public header for this.
This make GstMiniObject a bit more consistent with GObject and makes
it possible to extend the param specs.
gst_value_dup_mini_object is mainly useful for set_property methods.
Fixes bug #523798.
* tools/gst-inspect.c: (print_element_properties_info):
Print something useful for GstMiniObject properties and not just
"unknown type".
2008-03-22 14:51:17 +00:00
Sebastian Dröge 520791d270 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent and add it to the (private part) of the docs to f...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
(gst_registry_binary_check_magic):
* gst/gstregistrybinary.h:
Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
and add it to the (private part) of the docs to fix the build.
2008-03-21 16:11:51 +00:00
Sebastian Dröge 63c01eeacb gst/gstregistrybinary.*: Don't use GST_MAJORMINOR for the binary registry version. Instead hardcode a value that must...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
(gst_registry_binary_check_magic),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
Don't use GST_MAJORMINOR for the binary registry version. Instead
hardcode a value that must be changed whenever the format changes
in an incompatible way.
Also don't GST_ERROR when there is a version mismatch, just
regenerate the registry silently.
2008-03-21 15:52:14 +00:00
Ole André Vadla Ravnås bf20f01fba Add new function gst_poll_fd_ignored() for improved Windows compatibility.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås
<ole dot andre dot ravnas at tandberg dot com>
* docs/gst/gstreamer-sections.txt:
* gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
(gst_poll_update_winsock_event_mask),
(gst_poll_prepare_winsock_active_sets),
(gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
(gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
(gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
(gst_poll_check_ctrl_commands), (gst_poll_wait):
* gst/gstpoll.h:
* win32/common/libgstreamer.def:
Add new function gst_poll_fd_ignored() for improved Windows
compatibility.
Various minor fixes and cleanups. See #520808.
2008-03-18 10:54:52 +00:00
Tim-Philipp Müller ede8ee12bb gst/gstindex.*: Don't free key strings which we don't own. Fixes crash in gst_index_entry_free() (#522741).
Original commit message from CVS:
* gst/gstindex.c: (gst_index_entry_free):
* gst/gstindex.h:
Don't free key strings which we don't own. Fixes crash in
gst_index_entry_free() (#522741).
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/gstindex.c: (test_index_entries),
(gst_index_suite), (gst_index):
Add unit test for the above.
2008-03-17 10:21:59 +00:00
Ole André Vadla Ravnås 8a6042989a Remove GstPollMode from the API, it does not make sense to let the application control this.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås
<ole dot andre dot ravnas at tandberg dot com>
* docs/gst/gstreamer-sections.txt:
* gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
(gst_poll_update_winsock_event_mask), (gst_poll_new),
(gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
(gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
(gst_poll_fd_can_write), (gst_poll_wait),
(gst_poll_set_controllable), (gst_poll_restart),
(gst_poll_set_flushing):
* gst/gstpoll.h:
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
* libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
(gst_net_time_provider_new):
* plugins/elements/gstfdsink.c: (gst_fd_sink_start):
* plugins/elements/gstfdsrc.c: (gst_fd_src_start):
* tests/benchmarks/gstpollstress.c: (main):
* tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
Remove GstPollMode from the API, it does not make sense to let the
application control this.
Add support for Win32.
Fix the testsuite. Fixes #520671.
2008-03-07 15:39:45 +00:00
Ole André Vadla Ravnås 7185de8a67 gst/gstregistrybinary.c: Include io.h for write() and close() when building with MSVC. Fixes bug #520877.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås
<ole dot andre dot ravnas at tandberg dot com>
* gst/gstregistrybinary.c:
Include io.h for write() and close() when building with MSVC. Fixes
bug #520877.
2008-03-07 13:19:12 +00:00
Stefan Kost 3c9dda6df9 Move registry backend API to private headers where we can. Add fixme-0.11 comments for the others. Add stubs for the ...
Original commit message from CVS:
* configure.ac:
* gst/gst_private.h:
* gst/gstconfig.h.in:
* gst/gstregistry.h:
* gst/gstregistrybinary.c:
* win32/common/gstconfig.h:
Move registry backend API to private headers where we can. Add
fixme-0.11 comments for the others. Add stubs for the xml backend when
using the binary to ensure they functions exists (they should not be
used though). Fixes #520756.
2008-03-07 11:12:59 +00:00
Edward Hervey fdeea4f9dc Switch to using portabl gsize/gssize instead of size_t/ssize_t
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_read_cache):
* gst/gstregistryxml.c: (gst_registry_save):
* gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
* plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
* plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
(gst_file_src_map_small_region), (gst_file_src_create_mmap):
Switch to using portabl gsize/gssize instead of size_t/ssize_t
Fixes #520152
2008-03-03 18:42:04 +00:00
Edward Hervey 6148f05b6e gst/gstminiobject.c: Import gst_private.h before any other header that might include other glib headers. This fixes t...
Original commit message from CVS:
* gst/gstminiobject.c:
Import gst_private.h before any other header that might include other
glib headers. This fixes the build on windows using native compilers.
2008-03-03 18:14:33 +00:00
Tim-Philipp Müller 5db802f98f Fix broken use of config.h-defined preprocessor directive in a public header file. Add a corresponding define to gstc...
Original commit message from CVS:
* configure.ac:
* gst/gstconfig.h.in:
* gst/gstregistry.h:
Fix broken use of config.h-defined preprocessor directive in a public
header file. Add a corresponding define to gstconfig.h, since we can't
really remove those function declarations from the header file now
(or can we? and why are they there in the first place?).
2008-03-03 14:43:26 +00:00
Andy Wingo 391d9dfc9e tests/check/gst/gststructure.c (GST_START_TEST): Add a check for the new warning.
Original commit message from CVS:

2008-03-03  Andy Wingo  <wingo@pobox.com>

* tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
the new warning.

* gst/gststructure.c (gst_structure_from_string): Warn if
structure_from_string didn't consume the whole string, but the
caller did not provide an end pointer.
2008-03-03 10:07:21 +00:00
Fabrizio Gennari 96aa08f008 gst/gstregistryxml.c: Strings allocated by libxml2 should be freed with xmlFree(), not with g_free(). Fixes issues on...
Original commit message from CVS:
Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
* gst/gstregistryxml.c: (read_string), (load_feature):
Strings allocated by libxml2 should be freed with xmlFree(), not
with g_free(). Fixes issues on windows in certain contexts (#519698).
2008-03-01 11:21:30 +00:00
Tim-Philipp Müller 97bf2d2d78 gst/gstinterface.c: Don't crash if the element supports the interface queried, but does not implement GstImplementsIn...
Original commit message from CVS:
* gst/gstinterface.c: (gst_element_implements_interface):
Don't crash if the element supports the interface queried, but does
not implement GstImplementsInterface. Fixes #519584.
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/gstinterface.c:
Add unit test for the above.
2008-02-29 18:38:54 +00:00
Wim Taymans 4203512af9 gst/gstsegment.c: Improve some comment.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_seek),
(gst_segment_to_stream_time):
Improve some comment.
Update variables where it makes more sense.
2008-02-29 15:22:34 +00:00
Rene Stadler 99867e9f16 gst/gsturi.c: Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
Original commit message from CVS:
* gst/gsturi.c: (gst_uri_handler_get_protocols):
Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
URIHandlers implemented using language bindings.
2008-02-29 14:23:17 +00:00
Sebastian Dröge 58cc2ede0a And correct even more valid sparse warnings.
Original commit message from CVS:
* gst/gstelementfactory.h:
* tests/check/elements/fakesink.c:
* tests/check/elements/fakesrc.c: (setup_fakesrc):
* tests/check/elements/fdsrc.c: (setup_fdsrc):
* tests/check/elements/filesink.c: (setup_filesink):
* tests/check/elements/filesrc.c: (setup_filesrc):
* tests/check/elements/identity.c: (setup_identity):
* tests/check/elements/tee.c:
* tests/check/generic/sinks.c:
* tests/check/generic/states.c: (setup), (teardown):
* tests/check/gst/gst.c:
* tests/check/gst/gstabi.c:
* tests/check/gst/gstbin.c:
* tests/check/gst/gstbus.c: (pull_messages):
* tests/check/gst/gstcaps.c:
* tests/check/gst/gstelement.c:
* tests/check/gst/gstevent.c:
* tests/check/gst/gstghostpad.c:
* tests/check/gst/gstiterator.c:
* tests/check/gst/gstmessage.c:
* tests/check/gst/gstminiobject.c: (my_foo_init):
* tests/check/gst/gstobject.c: (thread_name_object),
(gst_object_suite):
* tests/check/gst/gstpad.c:
* tests/check/gst/gstplugin.c:
* tests/check/gst/gstpoll.c:
* tests/check/gst/gstquery.c:
* tests/check/gst/gstsegment.c:
* tests/check/gst/gststructure.c:
* tests/check/gst/gstsystemclock.c:
* tests/check/gst/gsttask.c:
* tests/check/gst/gstutils.c:
* tests/check/gst/gstvalue.c:
* tests/check/gst/struct_hppa.h:
* tests/check/gst/struct_i386.h:
* tests/check/gst/struct_ppc32.h:
* tests/check/gst/struct_ppc64.h:
* tests/check/gst/struct_x86_64.h:
* tests/check/libs/adapter.c: (create_and_fill_adapter):
* tests/check/libs/basesrc.c:
* tests/check/libs/controller.c: (GST_START_TEST):
* tests/check/libs/gdp.c:
* tests/check/libs/gstnetclientclock.c:
* tests/check/libs/gstnettimeprovider.c:
* tests/check/libs/libsabi.c:
* tests/check/libs/struct_hppa.h:
* tests/check/libs/struct_i386.h:
* tests/check/libs/struct_ppc32.h:
* tests/check/libs/struct_ppc64.h:
* tests/check/libs/struct_x86_64.h:
* tests/check/pipelines/cleanup.c:
* tests/check/pipelines/simple-launch-lines.c:
* tests/check/pipelines/stress.c:
And correct even more valid sparse warnings.
* win32/common/libgstreamer.def:
Add gst_poll_fd_init to the list of symbols.
2008-02-29 13:59:24 +00:00
Sebastian Dröge b997b0545a Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* gst/gstconfig.h.in:
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
* libs/gst/check/gstcheck.c: (gst_check_log_message_func),
(gst_check_log_critical_func), (gst_check_drop_buffers),
(gst_check_element_push_buffer_list):
* libs/gst/controller/gstcontroller.c: (gst_controller_get),
(gst_controller_get_type):
* libs/gst/controller/gsthelper.c: (gst_object_control_properties),
(gst_object_get_controller), (gst_object_get_control_source):
* libs/gst/controller/gstinterpolationcontrolsource.c:
(gst_interpolation_control_source_new):
* libs/gst/controller/gstlfocontrolsource.c:
(gst_lfo_control_source_new):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_event_from_packet_0_2):
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstmultiqueue.c:
* plugins/elements/gsttee.c:
* plugins/elements/gsttypefindelement.c:
* plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
(gst_file_index_add_association):
* plugins/indexers/gstmemindex.c:
* tests/benchmarks/gstpollstress.c: (mess_some_more):
* tests/check/elements/queue.c: (setup_queue):
* tests/check/gst/gstpipeline.c:
* tests/check/libs/collectpads.c: (setup), (teardown),
(gst_collect_pads_suite):
* tests/examples/adapter/adapter_test.c:
* tests/examples/metadata/read-metadata.c: (make_pipeline):
* tests/examples/xml/createxml.c:
* tests/examples/xml/runxml.c:
* tools/gst-inspect.c:
* tools/gst-run.c:
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers, not using variable sized arrays
on the stack, moving variable declarations to the beginning of
a block and using "foo (void)" instead of "foo ()" for declarations.
2008-02-29 12:41:33 +00:00
Wim Taymans a7bc443923 gst/gstpoll.*: Added Since tags.
Original commit message from CVS:
* gst/gstpoll.c: (gst_poll_fd_init):
* gst/gstpoll.h:
Added Since tags.
* plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
Use some more init macros.
2008-02-29 11:57:42 +00:00
Wim Taymans 3ae60c3b9d Add INIT macro and _init method for initializing the GstPollFD.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpoll.c: (gst_poll_fd_init):
* gst/gstpoll.h:
Add INIT macro and _init method for initializing the GstPollFD.
2008-02-29 11:00:43 +00:00
Wim Taymans d37ee60f47 configure.ac: Add checks for poll, ppoll and pselect.
Original commit message from CVS:
* configure.ac:
Add checks for poll, ppoll and pselect.
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
Add docs for GstPoll.
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpoll.c: (find_index), (selectable_fds),
(pollable_timeout), (choose_mode), (pollfd_to_fd_set),
(fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
(gst_poll_set_mode), (gst_poll_get_mode),
(gst_poll_add_fd_unlocked), (gst_poll_add_fd),
(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
(gst_poll_fd_has_closed), (gst_poll_fd_has_error),
(gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
(gst_poll_fd_can_write), (gst_poll_wait),
(gst_poll_set_controllable), (gst_poll_restart),
(gst_poll_set_flushing):
* gst/gstpoll.h:
Add generic poll abstraction. We ideally don't want to have this in core
here but in glib intead...
This code will be used in various network elements and ultimately for
the nanosecond precision monotonic clock (that's why it's here in core).
It'll allow us to implement cancelable socket operations for windows too.
* tests/check/Makefile.am:
* tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
(delayed_stop), (delayed_restart), (delayed_flush),
(delayed_control), (gst_poll_suite):
Add GstPoll unit test.
2008-02-27 18:00:04 +00:00
Tim-Philipp Müller ef4fb687a9 gst/gstfilter.c: Improve documentation of gst_filter_run(). Fixes #518627.
Original commit message from CVS:
* gst/gstfilter.c:
Improve documentation of gst_filter_run(). Fixes #518627.
2008-02-25 15:37:36 +00:00
Sebastian Dröge ca9663de37 gst/parse/lex._gst_parse_yy.pre.c: Update pre-generated flex files with flex 2.3.34.
Original commit message from CVS:
* gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
(_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
Update pre-generated flex files with flex 2.3.34.
2008-02-19 08:05:15 +00:00
Sebastian Dröge 60526f8dd6 gst/gstminiobject.c: Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more friendly to subclasses and not ...
Original commit message from CVS:
* gst/gstminiobject.c:
Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
friendly to subclasses and not require them to know all internals
of their parent class.
2008-02-19 05:49:32 +00:00
Stefan Kost f09aa1dd08 gst/gstbuffer.c: Copy selected buffer-flags when creating subbuffers.
Original commit message from CVS:
* gst/gstbuffer.c:
Copy selected buffer-flags when creating subbuffers.
Fixes #516395.
2008-02-15 12:33:00 +00:00
Sebastian Dröge 109511b55b Properly chain up finalize functions to the parent class.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
* gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
* gst/gstmessage.c: (gst_message_class_init),
(gst_message_finalize):
* gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
* plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
(gst_mmap_buffer_finalize):
Properly chain up finalize functions to the parent class.
2008-02-12 12:04:43 +00:00
Siavash Safi fdd893cd17 gst/gstindex.*: Add new function with option to dispose of user_data in resolver.
Original commit message from CVS:
Patch by: Siavash Safi <siavash dot safi at gmail dot com>
* gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
(gst_index_set_resolver_full):
* gst/gstindex.h:
Add new function with option to dispose of user_data in resolver.
Actually call the dispose function when finalizing the object and not
just when changing the resolver/filter.
API: GstIndex::gst_index_set_resolver_full()
* docs/gst/gstreamer-sections.txt:
Add new function to docs. Fixes #515469.
2008-02-11 17:53:57 +00:00
Sebastian Dröge 0a5db2e479 gst/gstindex.c: Chain up finalize to the parent class. Fixes leaking the GstObject name and other things.
Original commit message from CVS:
* gst/gstindex.c: (gst_index_finalize):
Chain up finalize to the parent class. Fixes leaking the GstObject
name and other things.
2008-02-11 08:53:04 +00:00
Stefan Kost 502337a510 gst/gstconfig.h.in: Add 'id' for example.
Original commit message from CVS:
* gst/gstconfig.h.in:
Add 'id' for example.
* gst/gstpad.c:
* gst/gstutils.c:
* plugins/elements/gstfdsink.c:
Link to signals. Doc and comment fixes.
2008-02-06 12:21:05 +00:00
Tim-Philipp Müller 168e31f2e0 gst/: Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is unused and unimplemented; finally, it is plugi...
Original commit message from CVS:
* gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
* gst/gstpluginfeature.h: (GstPluginFeatureClass):
Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
unused and unimplemented; finally, it is plugin features, not
plugins, that have ranks.
2008-02-05 21:22:47 +00:00
Stefan Kost 3b88553fe6 gst/gstpluginfeature.h: Clarify GstRank range docs.
Original commit message from CVS:
* gst/gstpluginfeature.h:
Clarify GstRank range docs.
2008-02-05 19:42:31 +00:00
David Schleef 664bb4cfd1 gst/gst.c: Add a separate gst_deinitialized that prevents gst_init() from being called after gst_deinit(). Fixes #50...
Original commit message from CVS:
* gst/gst.c: Add a separate gst_deinitialized that prevents
gst_init() from being called after gst_deinit().  Fixes #509559
2008-02-05 18:37:08 +00:00
Sebastian Dröge 2faa733276 Revert previous changes to the behaviour of GstPadTemplates, etc and the possiblity to call them in class_init as it ...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
(gst_bin_class_init):
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_add_pad_template):
* gst/gstpadtemplate.c: (gst_pad_template_init):
* gst/gstpipeline.c: (gst_pipeline_get_type),
(gst_pipeline_base_init), (gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c:
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
(gst_base_src_base_init), (gst_base_src_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
(gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
(gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
(gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
(gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
(gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
(gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
(gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_base_init),
(gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
(gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_base_init),
(gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_base_init),
(gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_base_init),
(gst_type_find_element_class_init):
* tests/check/gst/gstelement.c: (gst_element_suite):
Revert previous changes to the behaviour of GstPadTemplates, etc
and the possiblity to call them in class_init as it breaks too
many elements. Reopens bug #491501.
Should be applied again for 0.11, thus added a few FIXME 0.11 at
several places.
2008-02-05 14:15:15 +00:00
Thijs Vermeir bb3dfba3f5 Be sure that we have a new copy of the caps and not reffed caps from a template
Original commit message from CVS:
* gst/gstpad.c:
* tests/check/gst/gstpad.c:
Be sure that we have a new copy of the caps and not
reffed caps from a template
2008-02-04 14:14:42 +00:00
Sebastian Dröge 9db28f8537 Don't use base_init where not absolutely necessary. For example it's not necessary anymore for adding pad templates o...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
* gst/gstpipeline.c: (gst_pipeline_get_type),
(gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
(gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
(gst_base_src_class_init):
* libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
(gst_base_transform_class_init):
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
(gst_collect_pads_class_init):
* libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_base_init),
(gst_net_time_provider_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
(gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
(gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
(gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
(gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
(gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
(gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
(gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_base_init),
(gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
(gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_base_init),
(gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_base_init),
(gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_base_init),
(gst_type_find_element_class_init):
Don't use base_init where not absolutely necessary. For example it's
not necessary anymore for adding pad templates or setting element
details.
Leave empty base_init functions in several places as GST_BOILERPLATE
still defines and uses them.
2008-02-03 12:04:37 +00:00
Sebastian Dröge 86e45df860 gst/: Make it possible (and recommended) to set element details and add pad templates in the class_init functions by ...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_add_pad_template):
* gst/gstpadtemplate.c:
Make it possible (and recommended) to set element details and add
pad templates in the class_init functions by copying the details/pad
templates in GstElement's base_init.
Also make it possible to replace existing pad templates by adding
a new one with the same name. This was done in a hackish fashion
in same elements before already.
Don't reference pad templates that are added a second time. A
new pad template has a refcount of one and is not floating anymore
and to be owned by the element's class. Make this more explicit by
mentioning it in the docs of gst_element_class_add_pad_template().
These changes are backwards compatible. Fixes bug #491501.
* tests/check/gst/gstelement.c:
Add unit test for setting element details, adding pad templates and
replacing them in a subclass.
2008-02-03 10:48:01 +00:00
Julien Moutte 056d393725 docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
Original commit message from CVS:
2008-02-01  Julien Moutte  <julien@fluendo.com>

* docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the
docs
* gst/gstindex.c: (gst_index_class_init),
(gst_index_free_writer),
(gst_index_finalize), (gst_index_entry_free),
(gst_index_add_association): Fix memory leaks.
* gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
* plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
(gst_mem_index_free_format), (gst_mem_index_free_id),
(gst_mem_index_finalize): Fix memory leaks.
* win32/common/config.h: Updated to CVS HEAD.
2008-02-01 16:37:22 +00:00
Stefan Kost a9b5a4d56c gst/parse/: Add delayed set-property. This allows to set properties on dynamicaly created objects (pads in videomxer).
Original commit message from CVS:
* gst/parse/grammar.tab.pre.c:
* gst/parse/grammar.tab.pre.h:
* gst/parse/grammar.y:
* gst/parse/lex._gst_parse_yy.pre.c:
Add delayed set-property. This allows to set properties on dynamicaly
created objects (pads in videomxer).
2008-02-01 12:10:17 +00:00
Thijs Vermeir c595a566d9 gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
Original commit message from CVS:
* gst/gstutils.c:
Check if caps are not NULL (fix bug #510194)
2008-02-01 11:27:32 +00:00
Wim Taymans 6f0a59aa13 gst/gstminiobject.c: When replacing a miniobject, do a quick equality check first so that we can avoid a ref/unref pair.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_mini_object_replace):
When replacing a miniobject, do a quick equality check first so that we
can avoid a ref/unref pair.
2008-02-01 10:23:56 +00:00
Jan Schmidt 410af4fe50 gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
Original commit message from CVS:
* gst/gstutils.c:
Check if caps are not NULL (fix bug #510194)
2008-01-30 13:12:24 +00:00
Thijs Vermeir 127256b59a gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
Original commit message from CVS:
* gst/gstutils.c:
Check if caps are not NULL (fix bug #510194)
2008-01-30 12:55:42 +00:00
Cygwin Ports maintainer d0bc121de5 gst/gstutils.c: Fix compilation on systems that have posix timers but no monotonic clock.
Original commit message from CVS:
* gst/gstutils.c:
Fix compilation on systems that have posix timers but no
monotonic clock.
Fixes: #512715
Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
dot net>
2008-01-30 12:44:13 +00:00
Tim-Philipp Müller 22cf61b56e gst/gstplugin.c: Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC again, which I broke two commits ago when ...
Original commit message from CVS:
* gst/gstplugin.c: (_gst_plugin_initialize):
Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
again, which I broke two commits ago when changing the API
of gst_plugin_register_static(): the g_list_foreach() in
_gst_plugin_register_static still assumed the old function
signature and would therefore fail (re-fixes #510187).
* gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
(_gst_plugin_register_static), (gst_plugin_register_static):
Revert the (technically correct) change to call g_thread_init() from
the pre-main() constructor. This will break programs which call
g_thread_init() without an if (!g_thread_supported()) guard in their
main function. We could just blame it on GLib or the application, but
it's probably best to just avoid this altogether and simply not use
any GLib functions here and use plain old malloc() with a simple
array to store the plugins to register later when gst_init() is
finally called (re-fixes #510187).
* tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
(GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
(plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
(GST_START_TEST), (gst_plugin_suite):
Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
works.
2008-01-20 15:04:33 +00:00
Tim-Philipp Müller f1850d1fee gst/gstplugin.h: Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
Original commit message from CVS:
* gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
This makes gtk-doc complain, but results in slightly better
compiler errors. The old _gst_plugin_register_static() is
still guarded, so there'll be a compiler warning about that
instead. Fixes #510187 too.
2008-01-17 22:22:58 +00:00
Tim-Philipp Müller 33cd142292 gst/: Change API of gst_plugin_register_static() to not take a GstPluginDesc, but rather just take all the arguments ...
Original commit message from CVS:
* gst/gst.c: (init_post):
* gst/gstplugin.c: (_gst_plugin_register_static),
(gst_plugin_register_static), (_gst_plugin_initialize):
* gst/gstplugin.h: (GstPluginFilter):
Change API of gst_plugin_register_static() to not take
a GstPluginDesc, but rather just take all the arguments
in a GstPluginDesc directly. This is more intuitive and
avoids certain mistakes when porting code from
GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
Fixes #510187.
* tests/check/gst/gstplugin.c:
Fix up for changed API.
2008-01-17 22:17:15 +00:00
Stefan Kost ed2d23a5c5 gst/gstminiobject.c: Spelling fixes for the API docs.
Original commit message from CVS:
* gst/gstminiobject.c:
Spelling fixes for the API docs.
2008-01-14 13:18:37 +00:00
Jan Schmidt f2c36159ef gst/gst.c: _gst_trace_on is already provided by gsttrace.h, no need to declare it ourselves.
Original commit message from CVS:
* gst/gst.c:
_gst_trace_on is already provided by gsttrace.h, no need to declare
it ourselves.
* docs/libs/gstreamer-libs-sections.txt:
Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
and remove strange tcase_add_test which is outputting a warning.
* libs/gst/check/gstcheck.c:
* libs/gst/check/gstcheck.h:
Properly declare 'buffers', 'check_cond', 'check_mutex' extern
and define them in gstcheck.c instead of having every .c file whcih
includes gstcheck.h be defining its own copy and relying on symbol
interposing to marry them all, which doesn't work on Solaris.
* tests/check/elements/identity.c: (GST_START_TEST):
Don't define 'buffers' locally, it comes from libgstcheck.
* tests/check/generic/sinks.c: (send_buffer):
Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
* tests/check/gst/gststructure.c: (GST_START_TEST):
* tests/check/gst/gstsystemclock.c: (GST_START_TEST):
* tests/check/gst/gstutils.c: (GST_START_TEST):
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Add a bunch of casts to make various constants fit the types
they're being assigned to.
2008-01-12 20:22:30 +00:00
Stefan Kost 2016723b87 gst/gstchildproxy.c: Improve docs and add some ideas for making this more general-purpose.
Original commit message from CVS:
* gst/gstchildproxy.c:
Improve docs and add some ideas for making this more general-purpose.
2008-01-10 21:06:58 +00:00
Tim-Philipp Müller e1e8bace45 gst/gst_private.h: Add GST_CAT_TYPES, for consistency, and so that the other debug categories don't make fun of it. S...
Original commit message from CVS:
* gst/gst_private.h: (GST_CAT_TYPES):
Add GST_CAT_TYPES, for consistency, and so that the other
debug categories don't make fun of it. Spotted by Saur on IRC.
2008-01-10 15:55:32 +00:00
Sebastian Dröge 3749018bf6 gst/parse/Makefile.am: Move types.h from EXTRA_DIST to noinst_HEADERS.
Original commit message from CVS:
* gst/parse/Makefile.am:
Move types.h from EXTRA_DIST to noinst_HEADERS.
2008-01-10 13:03:35 +00:00
Tim-Philipp Müller 4a3f163052 API: add gst_plugin_register_static() and deprecate
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c: (init_post):
* gst/gstplugin.c: (_gst_plugin_register_static),
(gst_plugin_register_static), (_gst_plugin_initialize),
(gst_plugin_register_func):
* gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
API: add gst_plugin_register_static() and deprecate
GST_PLUGIN_DEFINE_STATIC, since it's not portable
(#498924).
Also, in _gst_plugin_register_static(), make sure to call
g_thread_init() before calling GLib functions such as
g_list_append() if we're not initialised yet, since that
may lead to random crashes with older GSlice/GLib versions.
* tests/check/gst/gstplugin.c:
Adapt unit test to above changes.
2008-01-09 18:23:39 +00:00
Tim-Philipp Müller d5d69b9475 gst/: Yet another gratuitous GString micro-optimisation: add a (private) function that serialises a structure appendi...
Original commit message from CVS:
* gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
* gst/gstcaps.c: (gst_caps_to_string):
* gst/gststructure.c: (GST_ASCII_IS_STRING),
(priv_gst_structure_append_to_gstring), (gst_structure_to_string):
Yet another gratuitous GString micro-optimisation: add a (private)
function that serialises a structure appending to an existing
GString, so that when we serialise caps we don't need to alloc+free
a throwaway GString for each structure (each of which also entailing
multiple reallocs on the way); also use g_string_sized_new() in
various places with an approximate string length to avoid reallocs
within GString. See #500143.
2008-01-09 16:36:34 +00:00
Tim-Philipp Müller 73808617cf gst/gststructure.c: Always check UTF-8 conformance of structure strings and not only if the debugging system is enabl...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_set_value):
Always check UTF-8 conformance of structure strings and not only
if the debugging system is enabled; reasoning: the behaviour of
the actual code shouldn't really change depending on whether the
debugging system is enabled or not (#508291).
2008-01-09 15:05:21 +00:00
Peter Kjellerstedt b85b7ff0cf gst/gstclock.h: Cast the results from the timeval/spec_to_time macros to what the docs say it casts to, a GstClockTim...
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj axis com>
* gst/gstclock.h:
Cast the results from the timeval/spec_to_time macros to what the
docs say it casts to, a GstClockTime. fixes #508175.
2008-01-09 12:22:22 +00:00
Wim Taymans c7d40b0a25 gst/gstbuffer.c: Update some comments.
Original commit message from CVS:
* gst/gstbuffer.c:
Update some comments.
* tools/gst-inspect.c: (print_element_properties_info):
Improve printing of flags.
2008-01-09 12:19:31 +00:00
Tim-Philipp Müller 2e628be2c2 gst/gstdebugutils.c: Log the reason why fopen fails in addition to the fact that it failed.
Original commit message from CVS:
* gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
Log the reason why fopen fails in addition to the fact that it failed.
2008-01-05 13:45:22 +00:00
Sebastian Dröge e2c1a6f7e9 gst/parse/parse.l: Use "%option never-interactive" to prevent useless calls to isatty() on every input when parsing. ...
Original commit message from CVS:
* gst/parse/parse.l:
Use "%option never-interactive" to prevent useless calls to isatty()
on every input when parsing. Also use "%option noinput" to not define
the static input/yyinput functions which we don't use anyway. This
removes a compiler warning with gcc 4.3 and saves some bytes in the
library.
* gst/parse/lex._gst_parse_yy.pre.c:
Regenerated for the above change.
2008-01-04 18:44:03 +00:00
Wim Taymans 8951071467 gst/gstpad.c: Don't crash when trying to fixate and empty list.
Original commit message from CVS:
* gst/gstpad.c: (fixate_value):
Don't crash when trying to fixate and empty list.
Fixes #506643.
2008-01-04 18:39:15 +00:00
Thijs Vermeir 7e8415cdf1 gst/gstdebugutils.c: add warning when failed to open file for writing
Original commit message from CVS:
* gst/gstdebugutils.c:
add warning when failed to open file for writing
2007-12-30 12:22:49 +00:00
Laurent Glayal c2683ff751 gst/gstvalue.c: Optimisation: bail out of the loop as early as possible (#500143).
Original commit message from CVS:
Based on patch by: Laurent Glayal  <spglegle yahoo fr>
* gst/gstvalue.c: (gst_value_is_fixed):
Optimisation: bail out of the loop as early as possible (#500143).
2007-12-28 14:34:34 +00:00