Wim Taymans
fe5fe438d3
typefind: remove const from refcounted GstCaps
...
Having const on refcounted objects require us to make copies instead of simply
taking a ref, don't do that.
2012-03-10 09:25:43 +01:00
Sebastian Dröge
cfe71423f0
gst: Remove gstmarshal.[ch] completely and use the generic marshaller
...
Fixes bug #671130 .
2012-03-02 11:05:48 +01:00
Wim Taymans
58ecde9db9
typefind: don't ignore return value when starting a task
2012-02-15 10:13:37 +01:00
Wim Taymans
fed0284d3c
typefind: clean up src query handler
2012-02-14 13:24:49 +01:00
Wim Taymans
374d5c36f9
typefind: pass results from activation
2012-02-14 12:57:14 +01:00
Wim Taymans
27d639ec09
typefind: fix race in pad mode change
...
Fixes #668909 and presumably also #669483
2012-02-08 14:32:01 +01:00
Vincent Penquerc'h
27ac781ba6
typefind: answer caps queries with our typefound caps
...
This avoids merely forwarding the event to the sink, and getting
something useless such as ANY.
https://bugzilla.gnome.org/show_bug.cgi?id=667571
2012-01-27 16:44:35 +01:00
Sebastian Dröge
bf0964b63a
typefind: Do typefinding from a separate thread and not from the state change function
2012-01-27 16:19:33 +01:00
Edward Hervey
7cef56076e
typefind: Send caps again after activation
...
Avoids ending up in cases where typefind gets activated in pull-mode
and caps never get sent.
https://bugzilla.gnome.org/show_bug.cgi?id=667337
2012-01-10 12:58:59 +01:00
Wim Taymans
2f1ed65339
pad: Merge pad mode activation functions
...
Add the pad mode to the activate function so that we can reuse the same function
for all activation modes. This makes the core logic smaller and allows for some
elements to make their activation code easier. It would allow us to add more
scheduling modes later without having to add more activate functions.
2011-11-21 13:29:05 +01:00
Wim Taymans
770159fb1c
query: improve scheduling query
...
Turns some boolean arguments in the scheduling query to flags, which are easier
to extend and makes the code easier to read.
Make extra methods for configuring and querying the supported scheduling modes.
This should make it easier to add new modes later.
2011-11-18 17:27:16 +01:00
Wim Taymans
39a5e26ea9
pad: add parent to activate functions
2011-11-18 13:54:29 +01:00
Wim Taymans
cb54ab7d90
typefind: fix for new getrange method signature
...
gst_type_find_helper_get_range_ext -> gst_type_find_helper_get_range
2011-11-17 16:15:23 +01:00
Wim Taymans
612b1fbb14
pad: add parent to other functions
...
Add parent to chain, chain_list, getrange and event functions.
2011-11-17 12:40:45 +01:00
Wim Taymans
09a8294d36
pad: add parent to the query function
2011-11-16 17:22:56 +01:00
Wim Taymans
4b216bf73a
adapter: remove flush from _unmap
2011-11-10 18:18:24 +01:00
Wim Taymans
756f6eb3f2
pad: refuse events in flushing
...
when we are flushing, don't store the event on the pad but simply return FALSE.
Don't deactivate the srcpad, we need it to be active in order to push the
caps. Downstream can change the scheduling mode of an active pad.
2011-11-09 17:25:30 +01:00
Wim Taymans
5cf8e68944
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstmessage.c
gst/gstquery.c
gst/gstregistrychunks.c
gst/gstsegment.c
libs/gst/base/gstbasetransform.c
libs/gst/base/gstbasetransform.h
libs/gst/base/gsttypefindhelper.c
plugins/elements/gsttypefindelement.c
2011-08-26 14:37:54 +02:00
Josep Torra
d7d2be07af
typefinder: use GST_TYPE_FIND_NONE instead of 0
...
Fixes warning #188 : enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +02:00
Josep Torra
178bdccb76
Fix and clarify debug statements
...
Fixes build on MacOSX
Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:01:58 +02:00
Tim-Philipp Müller
99742dc57e
plugins: update for query API changes
2011-07-28 11:24:19 +01:00
Wim Taymans
a767bf2bf9
caps: use the caps event
...
Use the caps event instead of gst_pad_set_caps() and the setcaps function
2011-06-07 09:43:20 +02:00
Wim Taymans
7e6d579301
scheduling: port to new scheduling query
2011-05-24 17:39:56 +02:00
Sebastian Dröge
3d2127f865
Revert "query: allow _make_writable on query handlers"
...
This reverts commit cf4fbc005c
.
This change did not improve the situation for bindings because
queries are usually created, then directly passed to a function
and not stored elsewhere, and the writability problem with
miniobjects usually happens with buffers or caps instead.
2011-05-17 11:21:41 +02:00
Wim Taymans
cf4fbc005c
query: allow _make_writable on query handlers
...
Pass a GstQuery ** to the query handlers so that they can make the query
writable before using a setter on it.
Port code to new API.
2011-05-10 18:36:33 +02:00
Wim Taymans
ba6b915651
base: avoid using buffer caps
...
Comment all code using buffer caps.
Rework capsfilter code a little.
Fix some unit tests
2011-05-08 12:46:17 +02:00
Wim Taymans
8ca3f9e71a
typefind: don't unset caps
2011-05-06 17:39:08 +02:00
Wim Taymans
c4751ec8c1
Revert "context: use context on buffers instead of caps"
...
This reverts commit 9ef1346b1f
.
Way to much for one commit and I'm not sure we want to get rid of the pad caps
just like that. It's nice to have the buffer and its type in onw nice bundle
without having to drag the complete context with it.
2011-05-05 13:17:08 +02:00
Wim Taymans
9ef1346b1f
context: use context on buffers instead of caps
...
Put the srcpad context on buffers instead of caps. This allows us to associate
all the relevant info contained in events with a buffer.
2011-05-04 18:59:47 +02:00
Sebastian Dröge
5020738a6d
elements: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 11:45:36 +02:00
Wim Taymans
38ffe30745
memory: more work on implementing buffer memory
2011-03-28 20:08:46 +02:00
Wim Taymans
d82c8bd2af
memory: port code to new buffer data API
2011-03-28 20:08:45 +02:00
Wim Taymans
70be8d8d95
improve type registration
2011-02-23 10:35:36 +01:00
Wim Taymans
6c18c9508d
miniobject: more boxed type fixing
...
More miniobject fixing, leaks horribly somewhere..
2011-02-23 10:35:09 +01:00
Stefan Kost
c5a57190ee
typefind: don't take object lock for reading the found caps
...
Once we switch to normal mode, we're not typefinding anymore and thus the caps
will not change. Therefore can avoid the object lock in the data-flow path.
The locking was added in order to fix bug #608877 .
2011-01-28 11:17:48 +02:00
Tim-Philipp Müller
af0642b6e8
docs: flesh out typefindelement docs some more
...
Mention that have-type signal may be emitted from streaming
thread or application thread, and fix a typo.
2011-01-25 18:48:40 +00:00
Stefan Kost
eed2a350cb
typefind: code and comment cleanups
...
Make code two places of the code the pushes the buffer store more similar. More
comments and debug logging.
2011-01-25 16:25:43 +02:00
Stefan Kost
740e4999b3
typefind: canonicalize signal name
2011-01-25 16:17:14 +02:00
Stefan Kost
c91c3d41fe
docs: mention have-type signal in the docs.
2011-01-25 16:17:14 +02:00
Stefan Kost
5486683cb7
typefind: add comment and more logging
2010-08-02 11:45:28 +03:00
Tim-Philipp Müller
e1573f194c
typefind: make sure buffers' metadata is writable before setting caps on them
...
Fixes warnings when using playbin2 with dvb:// streams, where typefind
comes after mpegtsparse.
2010-06-18 12:00:53 +01:00
Edward Hervey
504f9c7a6c
typefind: deactivate pad if we can't get length or it's a length of zero.
...
Fixes issues when re-using typefind after a file of length zero.
2010-03-17 07:39:29 +01:00
Edward Hervey
ed6f62f763
typefind: Reset the working mode when going to READY/NULL
...
This allows properly re-using typefind (else it would think it's
already done the typefinding when being re-used with another
stream).
2010-02-13 15:18:05 +01:00
Thiago Santos
51d382e2ee
typefind: Avoid messing pads activation
...
Typefind might mess up pads modes (pull/push) if a
downstream element is plugged and its pads activated
in 'step 2' of typefind pads activation.
This happens because the following steps don't check
if we already emitted typefound due to upstream setting
caps on buffers being pulled in the typefind helpers.
Avoid that by checking if typefound is already emmited.
Fixes #608036
2010-02-12 17:23:29 -03:00
Sebastian Dröge
88736cd675
typefindelement: Protect internal fields from concurrent changes from different threads
...
Fixes bug #608877 .
2010-02-12 11:02:08 +01:00
Tim-Philipp Müller
2b0b3923e8
typefind: don't leak uri string
2010-01-22 02:05:58 +00:00
Tim-Philipp Müller
087aa6ced4
gst_private.h: make sure gst_private.h is included before glib.h
...
For the reason outlined at the beginning of gst_private.h (inline
functions in glib may need the g_log_domain variable). Also include
gst_private.h before using any G_OS_* defines, esp. in plugin loader.
2010-01-20 01:48:56 +00:00
Wim Taymans
fc2f4ae37a
typefindelement: use new typefind function
...
Refactor a little.
Use the new typefind helper function that uses the extension to speed up
typefinding.
2010-01-12 17:38:32 +01:00
Tim-Philipp Müller
daecaf0e8a
Remove GST_DEBUG_FUNCPTR where they're pointless
...
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a tenth of a polar bear.
2009-10-28 00:44:24 +00:00
Tim-Philipp Müller
480b92006d
typefindelement: log probability in debug message
2009-07-02 01:18:57 +01:00