Commit graph

143 commits

Author SHA1 Message Date
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
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
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
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
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
Sebastian Dröge
6626976347 gst/parse/: Update the prebuild parser sources.
Original commit message from CVS:
* gst/parse/grammar.tab.pre.c:
* gst/parse/grammar.tab.pre.h:
* gst/parse/lex._gst_parse_yy.pre.c:
Update the prebuild parser sources.
2007-04-19 14:32:49 +00:00
Sebastian Dröge
4df2c01e88 gst/parse/Makefile.am: And now fix the building of the flex sources. Now everything should work as expected.
Original commit message from CVS:
* gst/parse/Makefile.am:
And now fix the building of the flex sources. Now everything should
work as expected.
2007-04-19 14:23:25 +00:00
Sebastian Dröge
3215ad20c3 gst/parse/Makefile.am: Now hopefully fix the build failures by setting proper rule dependencies and moving instead of...
Original commit message from CVS:
* gst/parse/Makefile.am:
Now hopefully fix the build failures by setting proper rule
dependencies and moving instead of copying.
2007-04-19 14:06:52 +00:00
Stefan Kost
55eca2e566 gst/parse/Makefile.am: Fix the build by correcting the rule that gave wrong files to flex.
Original commit message from CVS:
* gst/parse/Makefile.am:
Fix the build by correcting the rule that gave wrong files to flex.
2007-04-19 10:22:29 +00:00
Sebastian Dröge
d3e8fea975 gst/parse/Makefile.am: Add correct grammar.tab.h dependency if compiling without new enough flex. Fixes #431150.
Original commit message from CVS:
* gst/parse/Makefile.am:
Add correct grammar.tab.h dependency if compiling without new enough
flex. Fixes #431150.
2007-04-19 06:18:24 +00:00
Sebastian Dröge
7a67f8a6bb gst/parse/Makefile.am: Fix typo and use outdated sources if the flex/bison sources are newer than the pregenerated on...
Original commit message from CVS:
* gst/parse/Makefile.am:
Fix typo and use outdated sources if the flex/bison sources are newer
than the pregenerated ones but flex is too old. Print a warning in
that case. This should fix the build on the build bot.
2007-04-18 13:34:48 +00:00
Marc-Andre Lureau
7a3a27d0c1 gst/parse/: Make the parser reentrant and recursively callable. This requires flex >= 2.5.31, for older versions preg...
Original commit message from CVS:
Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
* gst/parse/Makefile.am:
* gst/parse/grammar.y:
* gst/parse/parse.l:
Make the parser reentrant and recursively callable. This requires flex
>= 2.5.31, for older versions pregenerated sources are used as we
can't bump the build dependency. Finally fixes #349180.
* gst/gstparse.c: (gst_parse_launch):
Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
now anyway.
* docs/gst/Makefile.am:
* docs/gst/Makefile.am:
* gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
(__gst_parse_strfree), (__gst_parse_link_new),
(__gst_parse_link_free), (__gst_parse_chain_new),
(__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
(gst_parse_element_set), (gst_parse_free_link),
(gst_parse_found_pad), (gst_parse_perform_delayed_link),
(gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
(_gst_parse_launch):
* gst/parse/grammar.tab.pre.h:
* gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
(yy_get_previous_state), (yy_try_NUL_trans), (input),
(_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
(_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
(_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
(_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
(_gst_parse_yypop_buffer_state),
(_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
(_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
(yy_fatal_error), (_gst_parse_yyget_extra),
(_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
(_gst_parse_yyget_in), (_gst_parse_yyget_out),
(_gst_parse_yyget_leng), (_gst_parse_yyget_text),
(_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
(_gst_parse_yyset_column), (_gst_parse_yyset_in),
(_gst_parse_yyset_out), (_gst_parse_yyget_debug),
(_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
(_gst_parse_yyset_lval), (_gst_parse_yylex_init),
(yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
(yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
(_gst_parse_yyfree):
If the installed flex version is too old use pre-generated parser
sources. These pre-generated parser sources are always updated when
the actual flex/bison sources change but require everybody who wants
to change something in the parser to have flex >= 2.5.31 installed.
2007-04-18 12:34:51 +00:00
Jan Schmidt
b9b5877a51 gst/gstelement.c: Don't output the same debug statement twice.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_state_func):
Don't output the same debug statement twice.
* libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
(gst_adapter_peek), (gst_adapter_take_buffer):
Optimise the case where we have buffers at the head of the queue that
can be joined quickly (because they're contiguous sub-buffers) by
merging them together rather than copying data out into new memory.
* gst/parse/grammar.y:
* tests/check/pipelines/parse-launch.c:
Fix a leak in an error path for parse_launch, and add a check
for it to the testsuite.
2007-04-13 11:53:00 +00:00
Jan Schmidt
0a5e6e1132 gst/gst.c: Ignore EINTR when reading from the child registry pipe.
Original commit message from CVS:
* gst/gst.c: (ensure_current_registry_forking):
Ignore EINTR when reading from the child registry pipe.
Explicitly ignore the return value from close, since it makes no
difference.
* gst/gstminiobject.c: (gst_mini_object_ref),
(gst_mini_object_unref):
When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
* gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
When removing cached plugins, remove their features too, so they're
not visible after they've disappeared.
* gst/gstutils.c: (prepare_link_maybe_ghosting):
In the unlikely case that we are linking pads with no parents, don't
crash trying to get the non-existent parent bin.
* gst/parse/grammar.y:
Output debug in the PIPELINE category
2006-12-09 18:48:57 +00:00
Zaheer Abbas Merali
6faacf67a3 gst/parse/grammar.y: Remove static function gst_parse_element_lock as all it does is return. Looks like cruft from 0.8.
Original commit message from CVS:
2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/parse/grammar.y:
Remove static function gst_parse_element_lock as all it does
is return.  Looks like cruft from 0.8.
2006-10-05 15:47:44 +00:00
Jan Schmidt
bc3daae9c2 gst/gstelementfactory.c: Remove unnecessary ref/unref pair
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_factory_create):
Remove unnecessary ref/unref pair
* gst/parse/grammar.y:
Make sure to free the parse buffer on all code paths.
Move a g_free up to the error handler where it's easier to see.
* tests/check/gst/gstevent.c: (test_event):
Extending timeout for downstream travelling events to 10 seconds to
hopefully avoid intermittent failure on the buildbots.
* tests/check/pipelines/parse-launch.c: (run_delayed_test):
Don't manually set the state of the src element - it will happen as a
natural consequence of the pipeline changing state, and that way it
will do it in the right order too.
2006-07-31 15:07:30 +00:00
Stefan Kost
fb0ce08f2c gst/parse/: Reverted previous patch as it required to bump the flex dependency to 2.5.31, where fc4/5 seem to ship on...
Original commit message from CVS:
* gst/parse/Makefile.am:
* gst/parse/grammar.y:
* gst/parse/parse.l:
Reverted previous patch as it required to bump the flex dependency to
2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
2006-07-30 18:58:28 +00:00
Marc-Andre Lureau
48afa6dc3a gst/parse/: push & pop the state of the lexer for reentrant use case
Original commit message from CVS:
Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
* gst/parse/Makefile.am:
* gst/parse/grammar.y:
* gst/parse/parse.l:
push & pop the state of the lexer for reentrant use case
Fixes #349180
2006-07-30 18:32:49 +00:00
Jan Schmidt
5b271bcd88 Fix some of the leaks exposed by extending the parse-launch testsuite, and move the 3 I can't figure out into a separ...
Original commit message from CVS:
* gst/parse/grammar.y:
* gst/parse/parse.l:
* tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
(GST_START_TEST), (parse_suite):
Fix some of the leaks exposed by extending the parse-launch testsuite,
and move the 3 I can't figure out into a separate test that won't run
the pipelines unless the appropriate line is uncommented.
2006-07-27 13:26:27 +00:00
Jan Schmidt
8ae16e5b4c gst/gststructure.*: Add API for setting values into structures without performing a quark lookup, if the appropriate ...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_set),
(gst_structure_id_set_valist):
* gst/gststructure.h:
Add API for setting values into structures without performing
a quark lookup, if the appropriate quark is already known.
API: gst_structure_id_set
API: gst_structure_id_set_valist
* gst/parse/grammar.y:
* gst/parse/parse.l:
Remove some dead code shown by the coverage information.
Don't throw a critical g_warning when encountering a syntax error,
just warn and let the normal error path handle it.
* plugins/elements/gstelements.c:
Bump the rank of filesink up to PRIMARY so that it is preferred over
gnomevfssink for file:// sink uri's
* tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
(GST_START_TEST), (run_delayed_test),
(gst_parse_test_element_base_init),
(gst_parse_test_element_class_init), (gst_parse_test_element_init),
(gst_parse_test_element_change_state),
(gst_register_parse_element), (parse_suite):
Beef up the tests for parse syntax to check that more error cases
fail as they are supposed to. Increases the test coverage a bit.
2006-07-26 17:04:45 +00:00
Tim-Philipp Müller
7e1530dda1 gst/parse/Makefile.am: Fix build with 'make -j N' even more (#340016).
Original commit message from CVS:
* gst/parse/Makefile.am:
Fix build with 'make -j N' even more (#340016).
2006-06-12 16:50:09 +00:00
Thomas Vander Stichele
02587befa4 fix parallel make
Original commit message from CVS:
fix parallel make
2006-05-14 23:23:56 +00:00
Tim-Philipp Müller
2a543782d0 gst/parse/Makefile.am: Make 'make -j' proof (see #340698).
Original commit message from CVS:
* gst/parse/Makefile.am:
Make 'make -j' proof (see #340698).
2006-05-05 09:01:52 +00:00
James Andrewartha
5deab8d3c3 Make sure gstprivate.h and/or config.h are always included first, otherwise some of our defines (like _FILE_OFFSET_BI...
Original commit message from CVS:
Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
* gst/gst.c:
* gst/gstbus.c:
* gst/gstclock.c:
* gst/gstevent.c:
* gst/gstformat.c:
* gst/gstmessage.c:
* gst/gstparse.c:
* gst/gstquery.c:
* gst/gstutils.c:
* gst/parse/Makefile.am:
* libs/gst/base/gstadapter.c:
* libs/gst/base/gstbasesrc.c:
* libs/gst/base/gstpushsrc.c:
* libs/gst/base/gsttypefindhelper.c:
* plugins/elements/gstfakesrc.c:
* plugins/elements/gstidentity.c:
Make sure gstprivate.h and/or config.h are
always included first, otherwise some of our
defines (like _FILE_OFFSET_BITS) might be
redefined in the system headers. Fixes build
on opensolaris (#340016).
2006-05-04 15:20:14 +00:00
Michael Smith
5fc678a6a7 gst/parse/grammar.y: Fix a leak in parse-launch for any source-or-sink named element references used.
Original commit message from CVS:
* gst/parse/grammar.y:
Fix a leak in parse-launch for any source-or-sink named element
references used.

* tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
Unref the pipeline if it exists after we've failed parsing.
2006-04-06 10:38:54 +00:00
Jan Schmidt
88806ceb90 gst/parse/parse.l: Commit patch for parse_launch syntax from #331255. Removes support for quoted strings and mimetype...
Original commit message from CVS:
* gst/parse/parse.l:
Commit patch for parse_launch syntax from #331255. Removes
support for quoted strings and mimetypes when writing filtered
caps. See the bug report for more details - I'm pretty sure this
obscure feature is not in use by _anyone_ anywhere.

With this simple change, the size of the gstreamer.so here
drops from 2193KB to 1565KB.
2006-03-03 15:32:30 +00:00
Sébastien Moutte
3eb3b1c742 gst/gstpad.c: (gst_pad_set_getcaps_function)
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_event_function),
(gst_pad_set_query_function), (gst_pad_set_query_type_function),
(gst_pad_set_getcaps_function)
* gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
So now, we can use --gst-debug-level=5 on Windows
* win32/common/libgstcontroller.def:
Added export of gst_controller_init
* win32/vs6/libgstcontroller.dsp:
Fixed Release post build configuration
2006-02-19 12:00:38 +00:00
Michael Smith
4e8cd3c843 gst/parse/grammar.y: Remove handling of { } for threads.
Original commit message from CVS:
* gst/parse/grammar.y:
Remove handling of { } for threads.
2005-12-07 11:52:05 +00:00
Thomas Vander Stichele
2dd1598c56 whitespace fixes
Original commit message from CVS:
whitespace fixes
2005-10-15 15:30:24 +00:00
Thomas Vander Stichele
08479555e5 configure.ac: reorganize clean up document more remove cruft
Original commit message from CVS:

* configure.ac:
reorganize
clean up
document more
remove cruft
* check/Makefile.am:
* docs/gst/Makefile.am:
* examples/helloworld/Makefile.am:
* gst/Makefile.am:
* gst/base/Makefile.am:
* gst/check/Makefile.am:
* gst/elements/Makefile.am:
* gst/indexers/Makefile.am:
* gst/parse/Makefile.am:
* libs/gst/controller/Makefile.am:
* libs/gst/dataprotocol/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop):
compile fixes, though it's not being compiled currently
2005-10-15 13:58:18 +00:00
Thomas Vander Stichele
03159ca232 gst/gst-i18n-lib.h: check for ENABLE_NLS, not GETTEXT_PACKAGE
Original commit message from CVS:

* gst/gst-i18n-lib.h:
check for ENABLE_NLS, not GETTEXT_PACKAGE
* gst/gstregistry.c: (gst_registry_add_plugin),
(gst_registry_scan_path_level),
(_gst_registry_remove_cache_plugins):
protect possibly NULL strings
* gst/parse/types.h:
config.h already included before
* tools/gst-inspect.c: (main):
sys/wait.h also doesnt exist on mingw, so change the ifdef check
check for ENABLE_NLS, not GETTEXT_PACKAGE
* tools/gst-launch.c: (main):
check for ENABLE_NLS, not GETTEXT_PACKAGE


This commit brought to you from msys/mingw
2005-10-11 16:05:16 +00:00
Thomas Vander Stichele
33a77b7a01 don't declare on the proper define
Original commit message from CVS:
don't declare on the proper define
2005-10-10 23:11:33 +00:00
Thomas Vander Stichele
5fb2b32a1f unmangle the nesting a little
Original commit message from CVS:
unmangle the nesting a little
2005-10-10 22:59:22 +00:00
Thomas Vander Stichele
1b27dd60dd gst/parse/grammar.y: some cleanup before the hacking
Original commit message from CVS:

* gst/parse/grammar.y:
some cleanup before the hacking
2005-10-10 22:49:42 +00:00
Wim Taymans
65006292ce gst/: Make ChildProxy threadsafe and fix mem leaks.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
(gst_bin_child_proxy_get_children_count):
* gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
(gst_child_proxy_lookup), (gst_child_proxy_get_property),
(gst_child_proxy_get_valist), (gst_child_proxy_set_property),
(gst_child_proxy_set_valist):
* gst/parse/grammar.y:
Make ChildProxy threadsafe and fix mem leaks.
2005-10-08 09:24:25 +00:00
Andy Wingo
e040bb2dbe gst/gstelement.h (GstState): Renamed from GstElementState, changed to be a normal enum instead of flags.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.h (GstState): Renamed from GstElementState,
changed to be a normal enum instead of flags.
(GstStateChangeReturn): Renamed from GstElementStateReturn, names
munged to be GST_STATE_CHANGE_*.
(GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
work with the new state representation.
(GstStateChange): New enumeration of possible state transitions.
Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
(GstElementClass::change_state): Pass the GstStateChange along as
an argument. Helps language bindings, so they don't have to use
tricky lock-needing macros like GST_STATE_CHANGE ().

* scripts/update-states (file): New script. Run it on a file to
update it for state naming and API changes. Updates files in
place.

* All files updated for the new API.
2005-09-02 15:42:00 +00:00
Stefan Kost
650687b449 ported gstchildproxy over from 0.8 ported gst-inspect fixes and enhancements over from 0.8
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gstbin.c: (gst_bin_get_type),
(gst_bin_child_proxy_get_child_by_index),
(gst_bin_child_proxy_get_children_count),
(gst_bin_child_proxy_init):
* gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
(gst_child_proxy_get_child_by_index),
(gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
(gst_child_proxy_get_property), (gst_child_proxy_get_valist),
(gst_child_proxy_get), (gst_child_proxy_set_property),
(gst_child_proxy_set_valist), (gst_child_proxy_set),
(gst_child_proxy_child_added), (gst_child_proxy_child_removed),
(gst_child_proxy_base_init), (gst_child_proxy_get_type):
* gst/gstchildproxy.h:
* gst/parse/grammar.y:
* tools/gst-inspect.c: (print_interfaces),
(print_element_properties_info), (print_element_info):
ported gstchildproxy over from 0.8
ported gst-inspect fixes and enhancements over from 0.8
2005-08-22 21:03:33 +00:00
Wim Taymans
e261956ca6 gst/gstmessage.*: Added a bunch of messages for advanced seeking.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_parse_segment_start),
(gst_message_parse_segment_done):
* gst/gstmessage.h:
Added a bunch of messages for advanced seeking.

* gst/parse/grammar.y:
* libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
(gst_dpman_state_changed):
Fix some new-pad -> pad-added signals
2005-07-20 18:02:13 +00:00
Andy Wingo
1d2f26f522 gst/parse/parse.l: Attempt to solve bug #172815.
Original commit message from CVS:
2005-07-19  Andy Wingo  <wingo@pobox.com>

* gst/parse/parse.l: Attempt to solve bug #172815.
2005-07-19 10:40:49 +00:00
Andy Wingo
9cb62f69e3 gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the source couldn't negotiate.
Original commit message from CVS:
2005-07-13  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
source couldn't negotiate.
2005-07-13 16:26:07 +00:00
Thomas Vander Stichele
8952d2c571 add a log line for type deserialization
Original commit message from CVS:
add a log line for type deserialization
2005-06-22 11:02:57 +00:00
Thomas Vander Stichele
dd9cc6adb7 ignore more
Original commit message from CVS:
ignore more
2005-06-17 09:12:33 +00:00
Andy Wingo
4b908e33e0 gst/gstutils.c: RPAD fixes all around.
Original commit message from CVS:
2005-06-08  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.c: RPAD fixes all around.
(gst_element_link_pads): Refcounting fixes.

* tools/gst-inspect.c:
* tools/gst-xmlinspect.c:
* parse/grammar.y:
* gst/base/gsttypefindhelper.c:
* gst/base/gstbasesink.c:
* gst/gstqueue.c: RPAD fixes.

* gst/gstghostpad.h:
* gst/gstghostpad.c: New ghost pad implementation as full proxy
pads. The tricky thing is they provide both source and sink
interfaces, since they proxy the internal pad for the external
pad, and vice versa. Implement with lower-level ProxyPad objects,
with the interior proxy pad as a child of the exterior ghost pad.
Should write a doc on this.

* gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
(gst_pad_set_name, gst_pad_set_parent): Macros removed, use
gst_object API.

* gst/gstpad.c: Big changes. No more stub base GstPad, now all
pads are real pads. No ghost pads in this file. Not documenting
the myriad s/RPAD/PAD/ and REALIZE fixes.
(gst_pad_class_init): Add properties for "direction" and
"template". Both are construct-only, so they can't change during
the life of the pad. Fixes properly deriving from GstPad.
(gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
derived objects, just set properties when creating the objects via
g_object_new.
(gst_pad_get_parent): Implement as a function, return NULL if the
parent is not an element.
(gst_pad_get_real_parent, gst_pad_add_ghost_pad)
(gst_pad_remove_ghost_pad, gst_pad_realize): Removed.

* gst/gstobject.c (gst_object_class_init): Make name a construct
property. Don't set it in the object init.

* gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
with UNKNOWN direction.
(gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
(gst_element_remove_pad): Remove ghost-pad special cases.
(gst_element_pads_activate): Remove rpad cruft.

* gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
catch the pad's-parent-not-an-element case.

* gst/gst.h: Include gstghostpad.h.

* gst/gst.c (init_post): No more real, ghost pads.

* gst/Makefile.am: Add gstghostpad.[ch].

* check/Makefile.am:
* check/gst/gstbin.c:
* check/gst/gstghostpad.c (test_ghost_pads): Check that linking
into a bin creates ghost pads, and that the refcounts are right.
Partly moved from gstbin.c.
2005-06-08 22:16:27 +00:00
David Schleef
65dd8e9726 gst/gstpad.c: Remove handling of filtered caps. Fix/merge functions that handle filtered links.
Original commit message from CVS:
* gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
functions that handle filtered links.
* gst/gstpad.h: Remove 'appfilter' field and prototypes of
removed functions.
* gst/gstutils.c: Fix/remove utility functions that handle
filtered caps.
* gst/gstutils.h:
* gst/gstvalue.c: Add serialization/deserialization of caps
* gst/parse/grammar.y: Ignore filtered caps when linking.  This
requires fixing so that the filter caps notation creates
a capsfilter element and sets the filter_caps property.  I
think everyone probably wants to keep the shorthand notation.
* docs/gst/tmpl/gstelement.sgml: updates for API changes.
* docs/gst/tmpl/gstpad.sgml:
* gst/elements/gstelements.c: Register capsfilter element.
* gst/Makefile.am: fix spacing
* docs/random/ds/0.9-suggested-changes: random
2005-04-24 21:16:45 +00:00
Wim Taymans
c47dc4d853 First THREADED backport attempt, focusing on adding locks and making sure the API is threadsafe. Needs more work. Mor...
Original commit message from CVS:
First THREADED backport attempt, focusing on adding locks and
making sure the API is threadsafe. Needs more work. More docs
follow this week.
2005-03-07 18:27:42 +00:00
Jan Schmidt
04b470bd86 gst/autoplug/gstspideridentity.c: Cosmetic fix - spider_find_peek should be static
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c:
Cosmetic fix - spider_find_peek should be static
* gst/parse/parse.l:
Applying fix for #164261
2005-01-18 15:39:14 +00:00
Wim Taymans
3cf9fdfcb7 Since parse can do 'element name=a:b' make 'a:b.' work as well.
Original commit message from CVS:
* gst/parse/parse.l:
* testsuite/parse/parse1.c: (main):
Since parse can do 'element name=a:b' make 'a:b.' work as
well.
Added testcase to verify fix.
2004-10-19 09:38:20 +00:00
Benjamin Otte
f8f2f5a58d gst/parse/parse.l: fix for G_DISABLE_ASSERT
Original commit message from CVS:
* gst/parse/parse.l:
fix for G_DISABLE_ASSERT
2004-08-03 10:24:39 +00:00
Benjamin Otte
9574c7851f gst/gstelementfactory.c: set the factory in the class struct, so gst_element_get_factory actually works
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_register):
set the factory in the class struct, so gst_element_get_factory
actually works
* gst/parse/grammar.y:
set element to playing when it gets unlocked as we can't rely on the
bin state - all elements in the bin state might still be locked in
NULL)
2004-07-22 16:14:56 +00:00
Benjamin Otte
2c2a7a3847 gst/parse/grammar.y: don't try to link elements before they have been added to bins
Original commit message from CVS:
* gst/parse/grammar.y:
don't try to link elements before they have been added to bins
2004-06-24 03:51:02 +00:00