Commit graph

1556 commits

Author SHA1 Message Date
Benjamin Otte
76b9ffbdbc bugfixes:
Original commit message from CVS:
bugfixes:
- allow disposal of subclasses of GstSystemClock
- only create one system clock
2003-05-10 11:11:29 +00:00
Wim Taymans
4a64884918 Fix 112596, gst_caps_is_always_compatible() broken
Original commit message from CVS:
Fix 112596, gst_caps_is_always_compatible() broken
2003-05-08 19:57:06 +00:00
Benjamin Otte
6c44f865e8 some minor improvements:
Original commit message from CVS:
some minor improvements:
- better debugging output
- don't set state to paused when plugging anymore
- bugfix: set typefind caps on srcpad, not sinkpad
- remove unnecessary check for right caps
2003-05-06 23:47:07 +00:00
Benjamin Otte
316124eb40 state need not be playing with new schedulers when adding/removing elements
Original commit message from CVS:
state need not be playing with new schedulers when adding/removing elements
2003-05-06 23:42:23 +00:00
Benjamin Otte
fe3861c2d3 do error checking for int/float values and don't accept trailing characters, but do accept overflows
Original commit message from CVS:
do error checking for int/float values and don't accept trailing characters, but do accept overflows
2003-05-06 22:58:04 +00:00
Wim Taymans
69787c811a Documentation updates
Original commit message from CVS:
Documentation updates
2003-05-06 22:10:29 +00:00
Benjamin Otte
05adc8c15c implement proper refcounting of pad's templates and references from real pads to their ghost pads and the other way a...
Original commit message from CVS:
implement proper refcounting of pad's templates and references from real pads to their ghost pads and the other way around - this fixes the segfaults in the player
2003-05-06 21:58:49 +00:00
Wim Taymans
1bdcd2e7b6 err... reset to desired version after doing a benchmark :)
Original commit message from CVS:
err... reset to desired version after doing a benchmark :)
2003-05-06 21:04:46 +00:00
Wim Taymans
1dc969236f - Explicitly set buffer fields to default values instead of using memset, this seems to speed up buffer allocation by...
Original commit message from CVS:
- Explicitly set buffer fields to default values instead of using memset,
this seems to speed up buffer allocation by at least 30%
2003-05-06 21:03:34 +00:00
Benjamin Otte
50351bc28d remove unnecessary check for registries - registry gets rebuilt automagically anyway
Original commit message from CVS:
remove unnecessary check for registries - registry gets rebuilt automagically anyway
2003-05-02 21:13:19 +00:00
Benjamin Otte
33ef3f7d4d make gst-launch --gst-mask=-1 fakesrc ! fakesink work on Solaris
Original commit message from CVS:
make gst-launch --gst-mask=-1 fakesrc ! fakesink work on Solaris
2003-05-02 20:07:45 +00:00
Benjamin Otte
cbe36c876b fix gcc 2.x compiler error, when variables aren't defined at the top.
Original commit message from CVS:
fix gcc 2.x compiler error, when variables aren't defined at the top.
2003-05-01 20:57:40 +00:00
Benjamin Otte
8bf9277aa3 unreachable code
Original commit message from CVS:
unreachable code
2003-05-01 20:16:14 +00:00
Benjamin Otte
ca0fb4bea5 fix for forte
Original commit message from CVS:
fix for forte
2003-05-01 16:54:09 +00:00
Benjamin Otte
c57955fc68 added GST_STR_NULL to check for NULL strings. Fixed a case where a char* given to printf was NULL to use that macro.
Original commit message from CVS:
added GST_STR_NULL to check for NULL strings. Fixed a case where a char* given to printf was NULL to use that macro.
2003-05-01 16:36:27 +00:00
Benjamin Otte
fe9a0a6d05 silence forte warnings
Original commit message from CVS:
silence forte warnings
2003-05-01 15:16:17 +00:00
David Schleef
38b667a0aa Disable MIPS, 'cuz it's broken.
Original commit message from CVS:
Disable MIPS, 'cuz it's broken.
2003-05-01 01:11:52 +00:00
Benjamin Otte
7524c49140 offsets may be negative (nobody ever seeked beackwards, hu?)
Original commit message from CVS:
offsets may be negative (nobody ever seeked beackwards, hu?)
2003-04-28 21:48:37 +00:00
Benjamin Otte
91d22b150d fix deadlock when thread itself goes PLAYING => PAUSED => PLAYING
Original commit message from CVS:
fix deadlock when thread itself goes PLAYING => PAUSED => PLAYING
2003-04-28 00:01:31 +00:00
Benjamin Otte
9837c9dbaa add extra error for empty pipeline
Original commit message from CVS:
add extra error for empty pipeline
2003-04-27 23:56:31 +00:00
Benjamin Otte
775fbca9a5 Make events use internal links, too
Original commit message from CVS:
Make events use internal links, too
2003-04-27 21:34:01 +00:00
Wim Taymans
a6766132e6 - remove some \n in GstThread debugging
Original commit message from CVS:
- remove some \n in GstThread debugging
- move the state change g_cond_signal to the set_state function to make
sure that we don't unlock the waiters before we completed the state
change.
2003-04-26 14:38:18 +00:00
Benjamin Otte
fa69e9954c fix debugging segfault
Original commit message from CVS:
fix debugging segfault
2003-04-26 13:55:13 +00:00
Benjamin Otte
a68e0b8324 fix and better comment gst_event_new_discontinuous. Nice memory leak there
Original commit message from CVS:
fix and better comment gst_event_new_discontinuous. Nice memory leak there
2003-04-26 01:54:01 +00:00
Benjamin Otte
8cebfd7528 I suck - it's the wrong variable and I don't get it for ages even while testing this code
Original commit message from CVS:
I suck - it's the wrong variable and I don't get it for ages even while testing this code
But while I was atit, I fixed it right this time (I hope)
2003-04-25 17:35:26 +00:00
Benjamin Otte
b04519c43d just to be sure...
Original commit message from CVS:
just to be sure...
2003-04-25 00:26:09 +00:00
Benjamin Otte
d02583b999 fix stupid segfault when setting integer properties
Original commit message from CVS:
fix stupid segfault when setting integer properties
2003-04-24 22:34:10 +00:00
Benjamin Otte
5d35141256 fix 2 warnings
Original commit message from CVS:
fix 2 warnings
2003-04-23 20:06:54 +00:00
Thomas Vander Stichele
582913dc84 make the user registry location major-minor versioned so it doesn't clash with older incompatible registries make gst...
Original commit message from CVS:
* make the user registry location major-minor versioned so it doesn't
clash with older incompatible registries
* make gst-register output the location of the registry it's writing
2003-04-23 19:59:38 +00:00
Benjamin Otte
313c399808 workaround for bison 1.35 bug
Original commit message from CVS:
workaround for bison 1.35 bug
2003-04-23 19:16:06 +00:00
Benjamin Otte
b7077cab18 make gst_thread_get_current() work with threaded cothreads
Original commit message from CVS:
make gst_thread_get_current() work with threaded cothreads
2003-04-21 18:37:13 +00:00
Benjamin Otte
fb14f53284 make that error message more useful, it kept confusing me
Original commit message from CVS:
make that error message more useful, it kept confusing me
2003-04-21 18:34:20 +00:00
Benjamin Otte
7f5dc1299b assorted fixes:
Original commit message from CVS:
assorted fixes:
- fix for #111146 (works now with lots of warnings (or maybe even without - the fun of races))
- more useful debugging output
- restructuring of when to release the lock
- emitting SHUTDOWN when holding lock so we're not destroyed while signalling
- probably something else I don't remember
2003-04-21 18:09:29 +00:00
Wim Taymans
22fa9810d6 GST_DEBUG/INFO doesn't need a \n at the end.
Original commit message from CVS:
GST_DEBUG/INFO doesn't need a \n at the end.
2003-04-19 11:52:07 +00:00
Wim Taymans
5af24ec4e5 - removed an assert, mmaping the stack of another thread seems to work fine.
Original commit message from CVS:
- removed an assert, mmaping the stack of another thread seems to work fine.
This makes the cothread based scheduler work again with the new GstThread.
2003-04-19 11:50:27 +00:00
Benjamin Otte
90dc6ded4d rewrite GstThread - should be quite a bit cleaner and does change state correctly now
Original commit message from CVS:
rewrite GstThread - should be quite a bit cleaner and does change state correctly now
2003-04-18 23:35:34 +00:00
Benjamin Otte
64a6a1d2bd - make child_state_change a virtual function
Original commit message from CVS:
- make child_state_change a virtual function
- remove unneeded != NULL checks
- implement gst_bin_sync_children_state
2003-04-18 23:34:21 +00:00
Benjamin Otte
78b4079072 make EOS really recursive and not just one layer deep
Original commit message from CVS:
make EOS really recursive and not just one layer deep
2003-04-18 23:31:18 +00:00
Wim Taymans
e1bfecf799 - Added a property to perform caps negotiation in the chain function instead of using proxied negotiation.
Original commit message from CVS:
- Added a property to perform caps negotiation in the chain function instead
of using proxied negotiation.
2003-04-17 22:31:32 +00:00
Wim Taymans
9811bb9aad Added a simple function gst_pad_recover_caps_error that a plugin should call from now on (instead of gst_element_erro...
Original commit message from CVS:
Added a simple function gst_pad_recover_caps_error that a plugin
should call from now on (instead of gst_element_error). This function
will emit a caps_nego_failed signal that the app can catch to resolve
the negotiation failure.
2003-04-17 22:29:31 +00:00
Wim Taymans
8365acd9b6 Transform variable properties too
Original commit message from CVS:
Transform variable properties too
2003-04-17 22:21:13 +00:00
Benjamin Otte
95b23e597d release lock before doing signal handling
Original commit message from CVS:
release lock before doing signal handling
2003-04-17 19:51:28 +00:00
Wim Taymans
fff499ea25 - don't be rude but give informative message about what went wrong.
Original commit message from CVS:
- don't be rude but give informative message about what went wrong.
2003-04-17 17:11:51 +00:00
Benjamin Otte
354e85056f another bugfix, i will never get used to using the retrun value of g_(s)list_prepend
Original commit message from CVS:
another bugfix, i will never get used to using the retrun value of g_(s)list_prepend
2003-04-17 14:52:38 +00:00
Benjamin Otte
30267f6a64 It's absolute fun if you don't find this. If an element claims a successful state change but did not actually change ...
Original commit message from CVS:
It's absolute fun if you don't find this. If an element claims a successful state change but did not actually change its state it is broken and the program deserves to crash. And hard. Can you hear I'm annoyed?
2003-04-17 13:52:41 +00:00
Colin Walters
900066617c Remove dummy signals, add full signal.
Original commit message from CVS:
Remove dummy signals, add full signal.
2003-04-17 09:19:34 +00:00
Benjamin Otte
45521ec77a bugfixing in pipeline parsing. Fixed the 2 pipelines that are now added to the testsuite
Original commit message from CVS:
bugfixing in pipeline parsing. Fixed the 2 pipelines that are now added to the testsuite
2003-04-16 21:37:35 +00:00
Benjamin Otte
b36a2350ba *_is_writeable => *_is_writable (spelling)
Original commit message from CVS:
*_is_writeable => *_is_writable (spelling)
2003-04-16 18:35:57 +00:00
Benjamin Otte
42efbe5648 change *_is_readonly to *_is_writeable. Hope the name stays now...
Original commit message from CVS:
change *_is_readonly to *_is_writeable. Hope the name stays now...
2003-04-15 21:33:08 +00:00
Benjamin Otte
ede90a27db remove left over _needs_copy_on_write
Original commit message from CVS:
remove left over _needs_copy_on_write
2003-04-15 19:22:05 +00:00
Benjamin Otte
3941b18ca9 remove left over GST_DATA_IS_READONLY
Original commit message from CVS:
remove left over GST_DATA_IS_READONLY
2003-04-15 19:16:51 +00:00
Benjamin Otte
4bf4de13ed Ouch: gst_element_dispose does a state change to NULL. Change the state to NULL yourself if you dispose plugins that ...
Original commit message from CVS:
Ouch: gst_element_dispose does a state change to NULL. Change the state to NULL yourself if you dispose plugins that reference some of the freed memory on state changes.

This is probably broken in lots of cases.
2003-04-15 18:46:09 +00:00
Benjamin Otte
6cb527fed3 API change: remove gst_object_destroy and #defines to it
Original commit message from CVS:
API change: remove gst_object_destroy and #defines to it
2003-04-15 18:43:57 +00:00
Benjamin Otte
c016763611 API change: rename (currently unused function) gst_(data|buffer)_needs_copy_on_write to gst_(data|buffer)_is_readonly...
Original commit message from CVS:
API change: rename (currently unused function) gst_(data|buffer)_needs_copy_on_write to gst_(data|buffer)_is_readonly - we don't want to confuse even core developers
2003-04-15 18:41:23 +00:00
Wim Taymans
54b35086ea - make aggregator actually work
Original commit message from CVS:
- make aggregator actually work
2003-04-14 18:58:11 +00:00
Wim Taymans
d19cc5f7a0 Updated makefile too..
Original commit message from CVS:
Updated makefile too..
2003-04-14 18:53:40 +00:00
Wim Taymans
eb5536af92 - Added infrastructure to run a filter against plugins, registries and registrypools. This makes it possible to creat...
Original commit message from CVS:
- Added infrastructure to run a filter against plugins, registries and
registrypools. This makes it possible to create custom code to filter
out the plugins/features you're interested in.
2003-04-14 18:53:03 +00:00
Wim Taymans
4c33218ba3 - use g_list_foreach where apropriate
Original commit message from CVS:
- use g_list_foreach where apropriate
2003-04-14 18:38:11 +00:00
Benjamin Otte
838ffca4fa enable debugging output for bison parser, fix // comments, better error recovery, error out on non-instantiable eleme...
Original commit message from CVS:
enable debugging output for bison parser, fix // comments, better error recovery, error out on non-instantiable elements (fixes #110758)
2003-04-14 18:33:58 +00:00
David Schleef
7421b1f671 Revert last Makefile.am change, and fix it correctly. I _think_ this won't break with earlier flex versions, otherwi...
Original commit message from CVS:
Revert last Makefile.am change, and fix it correctly.  I _think_
this won't break with earlier flex versions, otherwise let me know.
2003-04-13 19:40:31 +00:00
Benjamin Otte
f4f0a51890 - added macros GST_CLOCK_TIME_IS_VALID and GST_BUFFE_TIMESTAMP_IS_VALID
Original commit message from CVS:
- added macros GST_CLOCK_TIME_IS_VALID and GST_BUFFE_TIMESTAMP_IS_VALID
- use macros in some places
- buffer's timestamp field is a GstClockTime, not a guint64 - this is currently the same, but be sure to only use GstClockTime when working with timestamps in the future
2003-04-13 03:07:07 +00:00
Benjamin Otte
e3b00b80bc silence compiler warning
Original commit message from CVS:
silence compiler warning
2003-04-13 03:04:26 +00:00
Benjamin Otte
f3fad44a00 don't error out on max-buffers = 0
Original commit message from CVS:
don't error out on max-buffers = 0
2003-04-13 00:55:08 +00:00
Wim Taymans
bd3511da69 - Added function to apply a custom filter on plugin features
Original commit message from CVS:
- Added function to apply a custom filter on plugin features
2003-04-12 15:14:55 +00:00
Benjamin Otte
0c6387ce5f signal EOS on parent bins, when the last element playing sends EOS
Original commit message from CVS:
signal EOS on parent bins, when the last element playing sends EOS
2003-04-12 13:38:32 +00:00
David Schleef
5706980d33 Disable compiler warning because of a bug in flex-2.5.31
Original commit message from CVS:
Disable compiler warning because of a bug in flex-2.5.31
2003-04-11 21:44:04 +00:00
Benjamin Otte
8bfbc81d36 general fixes:
Original commit message from CVS:
general fixes:
- changed newly added locked_state API to work like GStreamer does
- added gst_element_sync_state_with_parent function
- revert: pad linking does not require non-playing state
- updated spider and pipeline parsing to link elements in playing state
- bugfix: pads are now activated when added to a playing element (broke above change)
2003-04-11 00:00:46 +00:00
Wim Taymans
3f8006734d Removed sanity check that does not hold in some cases with the opt scheduler.
Original commit message from CVS:
Removed sanity check that does not hold in some cases with the opt
scheduler.
2003-04-10 22:00:55 +00:00
Benjamin Otte
4754ab2601 documentation
Original commit message from CVS:
documentation
2003-04-10 01:45:36 +00:00
Benjamin Otte
d89dd2d325 bugfix: wrong function due to missing char
Original commit message from CVS:
bugfix: wrong function due to missing char
2003-04-10 01:32:56 +00:00
David Schleef
c760bb88b7 Remove grammar.output, too
Original commit message from CVS:
Remove grammar.output, too
2003-04-08 23:21:37 +00:00
David Schleef
2d40f10230 Clean up Makefile.am
Original commit message from CVS:
Clean up Makefile.am
2003-04-08 23:18:30 +00:00
David Schleef
ac84bc9a55 Fix warning
Original commit message from CVS:
Fix warning
2003-04-08 23:17:36 +00:00
Benjamin Otte
3a897e2f30 rewritten pipeline parsing lands. Have fun breaking it.
Original commit message from CVS:
rewritten pipeline parsing lands. Have fun breaking it.
regressions:
- No support for filtered links. If anybody needs this, please contact me and I'll add it as fast as possible.

improvements:
- The pipeline building actually works as expected.
- syntax compatible nearly everywhere but more flexible
- better property parsing (you can now set enums by name or nick)
- uses locked_state to allow for delayed pads
- can connect video pipelines without the need for queues
- allows properties on bins
- does not return a bin, but an element.

You may want to read docs/random/company/gstparse to learn how it works.
2003-04-08 21:59:44 +00:00
Benjamin Otte
64f71f6961 do not return SUCCESS if a bin's child can't change state. This fix breaks old gstparse
Original commit message from CVS:
do not return SUCCESS if a bin's child can't change state. This fix breaks old gstparse
2003-04-08 21:50:32 +00:00
Benjamin Otte
ff856af64a - clean bison- and flex-built files on make clean. (fixes #101421)
Original commit message from CVS:
- clean bison- and flex-built files on make clean. (fixes #101421)
- use CFLAGS that enable debugging symbols.
2003-04-08 21:48:27 +00:00
Benjamin Otte
a03e803bb6 huge modifications, hope i didn't break something:
Original commit message from CVS:
huge modifications, hope i didn't break something:
- added functions for setting/getting locked state of elements. gst_element_lock_state syncs the pads state with the state of its parent.
- made all gst_element_link_* functions call gst_element_link_pads_filtered
- gst_element_link_pads_filtered now accepts NULL as a pad name.
- make sure the link functions are only called when the elements are paused
That's it.
2003-04-08 21:14:23 +00:00
Benjamin Otte
62d382149a pad linking only works when both elements are not playing
Original commit message from CVS:
pad linking only works when both elements are not playing
2003-04-08 21:07:46 +00:00
Benjamin Otte
55aa16f47c make typefinding work when the src provides caps. Fixes #93735
Original commit message from CVS:
make typefinding work when the src provides caps. Fixes #93735
2003-04-08 08:02:36 +00:00
David Schleef
815fb8543b add printf format and args macros for FOURCCs
Original commit message from CVS:
add printf format and args macros for FOURCCs
2003-04-07 20:11:38 +00:00
Benjamin Otte
6ddd676a02 ok, this is my nomination for idiot of the week
Original commit message from CVS:
ok, this is my nomination for idiot of the week
2003-04-04 19:52:46 +00:00
Benjamin Otte
afe37388cb remove old workaround for older popt version.
Original commit message from CVS:
remove old workaround for older popt version.
2003-04-04 17:37:19 +00:00
Benjamin Otte
95b078ac08 many changes to startup handling:
Original commit message from CVS:
many changes to startup handling:
- make gst_init_with_popt_table work like gst_init - exit program on failure, return void
- add gst_init_check_with_popt_table to be the same as gst_init_with_popt_table before - work the same as gst_init_check
- revert an old workaround and apply the proper fix
- do not use g_error to exit the application, g_error causes a segfault. Use exit.
2003-04-04 16:29:37 +00:00
Benjamin Otte
42b3e8c7f1 documentation changes (thx Ross)
Original commit message from CVS:
documentation changes (thx Ross)
2003-03-30 18:30:07 +00:00
Martin Schulze
df2f947370 gst/gstelementfactory.c: Add "g_free (dp->license)" in gst_element_details_free().
Original commit message from CVS:
2003-03-29  Martin Schulze  <MHL.Schulze@t-online.de>

* gst/gstelementfactory.c: Add "g_free (dp->license)" in
gst_element_details_free().
* gst/gstevent.[ch]: Add function gst_event_get_type() to
support c++ language binding. Make macros gst_event_ref[_by_count]
return a GstEvent* instead of a GstData*.
* gst/gstbuffer.[ch]: Add functions gst_buffer[_pool]_get_type()
to support c++ language binding.
2003-03-29 11:58:15 +00:00
Wim Taymans
f6d654aad5 Remove redundant _clock_set
Original commit message from CVS:
Remove redundant _clock_set
2003-03-28 17:36:22 +00:00
Wim Taymans
63db8dfb67 - enable chain if an active group is added to it
Original commit message from CVS:
- enable chain if an active group is added to it
- enable group if a PLAYING element is added to it
2003-03-28 17:29:57 +00:00
Benjamin Otte
fec6a61298 cleanup: remove writer/reader booleans, just signal everytime bugfix: signal not_full after flush (Martin Janzen)
Original commit message from CVS:
cleanup: remove writer/reader booleans, just signal everytime
bugfix: signal not_full after flush (Martin Janzen)
2003-03-27 03:16:08 +00:00
Wim Taymans
729bbc9c0a Added some extra debugging info
Original commit message from CVS:
Added some extra debugging info
2003-03-25 19:42:19 +00:00
Wim Taymans
1123103926 - Added _LOCKED_STATE element flag
Original commit message from CVS:
- Added _LOCKED_STATE element flag
- parent bin does not perform state changes on _LOCKED_STATE elements
2003-03-25 19:39:18 +00:00
Wim Taymans
5b91593b0e Set initial flags on various scheduler structures
Original commit message from CVS:
Set initial flags on various scheduler structures
2003-03-25 19:34:30 +00:00
Benjamin Otte
e2c19765d9 fix memory leaks and unlock a mutex earlier
Original commit message from CVS:
fix memory leaks and unlock a mutex earlier
This is a 0.6 branch candidate, btw
2003-03-21 20:53:26 +00:00
Benjamin Otte
38a25af608 bugfi^H^Hworkaround: only send eos to unconnected elements - fixes new mikmod
Original commit message from CVS:
bugfi^H^Hworkaround: only send eos to unconnected elements - fixes new mikmod
2003-03-18 00:39:34 +00:00
Christian Meyer
dabb6637bd Fixed bug #108514.
Original commit message from CVS:
Fixed bug #108514.
2003-03-16 20:06:02 +00:00
Benjamin Otte
17b8c5d004 added new function gst_event_has_new_media
Original commit message from CVS:
added new function gst_event_has_new_media
2003-03-16 18:29:45 +00:00
Wim Taymans
0b3a5d14db - Slight reorganisation of functions that should be disabled
Original commit message from CVS:
- Slight reorganisation of functions that should be disabled
- make sure _gst_debug_register_funcptr is #ifdeffed out when DEBUGGING is
disabled.

This should fix 106047. Please retest.
2003-03-14 18:31:47 +00:00
Benjamin Otte
981f6185c5 debugging session with wim
Original commit message from CVS:
debugging session with wim
2003-03-13 23:59:36 +00:00
Wim Taymans
4e44ab15b5 - fix unlink between decoupled elements
Original commit message from CVS:
- fix unlink between decoupled elements
- clear the entry point of a group when we remove the element
- fix a potential problem in _merge_groups that could be triggered when
someone is holding an extra refcount to the group.
2003-03-13 18:46:21 +00:00
Benjamin Otte
35391c0907 mutexes want to be free, too
Original commit message from CVS:
mutexes want to be free, too
2003-03-12 21:55:09 +00:00
Wim Taymans
678ea8bbbb Fix optimal scheduler with cothreads
Original commit message from CVS:
Fix optimal scheduler with cothreads
2003-03-11 23:26:18 +00:00