Commit graph

1666 commits

Author SHA1 Message Date
Wim Taymans
c93cde0a30 filesrc: only update buffer size on short read 2012-03-15 13:42:17 +01:00
Wim Taymans
0addca0810 queue: remove useless PROXY_ALLOCATION flag 2012-03-15 13:42:12 +01:00
Wim Taymans
9e2ef19dc2 queues: warn when receiving a serialized event
.. until we implement it.
2012-03-14 16:00:48 +01:00
Wim Taymans
2e864c4722 queue: add support for serialized queries 2012-03-14 15:42:33 +01:00
Wim Taymans
8a76c3269a caps: _do_simplify() -> _simplify()
Rename _do_simplify() to _simplify(). The name was introduced as a replacement
method for a deprecated method but we can now rename it again.
Fix some docs.
2012-03-12 11:38:37 +01:00
Wim Taymans
9cdbffea94 caps: improve _do_simplify
Make gst_caps_do_simplify() take ownership of the input caps and produce a
simplified output caps. This removes the requirement of having writable input
caps and the method can make the caps writable only when needed.
2012-03-12 10:42:23 +01:00
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
Wim Taymans
cfa639c56c tee: fix refcount error 2012-03-08 10:47:39 +01:00
Sebastian Dröge
6b4091a30d Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbaseparse.c
	libs/gst/base/gstbasetransform.c
	plugins/elements/gsttee.c
2012-03-08 10:19:52 +01:00
Sebastian Dröge
f000bbe924 tee: Fix 'use of logical '&&' with constant operand' compiler warning
This is actually a real bug.
2012-03-06 12:27:33 +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
Tim-Philipp Müller
f701237b77 fdsink: fix compilation after merge 2012-02-27 00:09:57 +00:00
Tim-Philipp Müller
1fbcc71dbd Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	NEWS
	RELEASE
	configure.ac
	docs/plugins/gstreamer-plugins.hierarchy
	docs/plugins/inspect/plugin-coreelements.xml
	libs/gst/base/gstcollectpads.c
	libs/gst/base/gstcollectpads2.c
	plugins/elements/gstfdsink.c
	win32/common/config.h
	win32/common/gstenumtypes.c
	win32/common/gstversion.h
2012-02-27 00:08:39 +00:00
Tim-Philipp Müller
4594e4311d fdsink: implement GstBaseSink::query instead of messing with the pad 2012-02-25 15:18:00 +00:00
Tim-Philipp Müller
965c610028 fdsink: implement SEEKING query
We may or may not support seeking. stdout to a
terminal doesn't support seeking, for example, but
... ! fdsink > file.foo just might.
2012-02-25 15:08:55 +00:00
Tim-Philipp Müller
82a9544385 filesink: implement SEEKING query
We may or may not do seeking, depends on the
output file/device really, it doesn't have to
be a file after all.
2012-02-25 15:07:43 +00:00
Tim-Philipp Müller
c5b335a0e2 fakesink: answer SEEKING query
We don't do seeking, in case anyone wants to know.
2012-02-25 15:07:05 +00:00
Wim Taymans
beea57dca7 basetransform: fix reconfigure methods
Rename gst_base_transform_suggest to gst_base_transform_reconfigure_sink because
that is what it does. Also remove the caps and size because that is not needed.
Rename gst_base_transform_reconfigure to gst_base_transform_reconfigure_src.
Remove some old unused code in capsfilter.
2012-02-24 11:00:21 +01:00
Wim Taymans
7b0e4f27fb memory: make _new_wrapped take user_data and notify
Make it possible to configure a GDestroyNotify and user_data for
gst_memory_new_wrapped() this allows for more flexible wrapping of foreign
memory blocks.
2012-02-22 02:10:21 +01:00
Tim-Philipp Müller
654b074477 input-selector: default to sync-streams=true
I think this is the expected behaviour, and we couldn't do this
in 0.10 for backwards-compatibility reasons, so change it now.
2012-02-21 21:07:49 +00:00
Wim Taymans
9a074e0e11 queue: remove some old code 2012-02-21 16:38:37 +01:00
Wim Taymans
ef5292c2ab queue: remove weird link behaviour
Remove the link functions and always start the pad task on the srcpad. If
applications need to autoplug they can put a blocking probe on the srcpad like
they would with any other element.
2012-02-21 12:52:44 +01:00
Wim Taymans
bd1566b9ae fakesrc: handle pts/dts 2012-02-21 12:52:18 +01:00
Wim Taymans
f7813b7ad9 fakesink: remove custom marshaller 2012-02-21 12:46:44 +01:00
Wim Taymans
812afd3a22 identity: also debug dts/pts 2012-02-21 12:43:18 +01:00
Wim Taymans
59893e38ca fakesink: debug pts and dts 2012-02-21 12:13:28 +01:00
Wim Taymans
8d5a11a0d8 identity: remove custom marshaller 2012-02-21 12:12:21 +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
Tim-Philipp Müller
41841899c7 fakesrc, identity, fakesink: do not generate last-message updates by default
Default to not creating lots of overhead by doing a couple of
g_strdup_printf()/g_free() per buffer or event just to generate
a last-message update that rarely anyone listens to. This means
that you need to enable silent=true explicitly in order to get
last-message dumps in gst-launch -v now. On the upside, people
won't inadvertently end up benchmarking g_strdup_printf()
performance instead of gstreamer data handling performance any
more.

Maybe the silent property should be renamed to enable-last-message
or something like that?
2012-02-09 00:14:34 +00:00
Wim Taymans
7ab1d62c24 GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:18:04 +01:00
Mark Nauwelaerts
9f2077918c queue: use default query function to optionally forward query
... rather than querying peer unconditionally with possibly undesirable
outcome in case of e.g. SCHEDULING query.
2012-02-08 15:38:37 +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
Wim Taymans
dcde2c2c1a fakesrc: remove custom marshaller
Remove our custom marshaller.
Make the buffer in the handoff signal static_scope so that it is actually
writable.
2012-02-07 10:44:07 +01:00
Wim Taymans
fab3027b27 dentity: remove prepare_output_buffer
Correctly mark passthrough on the baseclass so that it can correctly do the
allocation of the output buffers.
Remove our custom prepare_output_buffer function now that the baseclass is
smarter.
2012-02-02 13:15:24 +01:00
Wim Taymans
dd9cc4295e identity: only map when using the memory 2012-02-02 12:32:49 +01:00
Wim Taymans
87b805a639 plugins: proxy allocation query 2012-02-02 12:32:07 +01:00
Olivier Crête
dad60ef5c6 valve: Repush sticky events after disabling dropping 2012-01-30 12:58:43 +00: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
Wim Taymans
fe9e284463 queue2: fix memory leak
unmap the buffer memory on errors.
2012-01-27 15:33:48 +01:00
Sebastian Dröge
eba7fed1d3 queue2: Fix handling of the new stream-start event 2012-01-27 12:33:56 +01:00
Sebastian Dröge
23ff3a8f53 identity/fake{src,sink}: Include event type name in the debug output 2012-01-27 11:01:27 +01:00
Wim Taymans
a521252845 Add new GstMapInfo
Use a structure to hold info about the mapping. The application then keeps track
of this state and we can use it to unmap the memory again later.
2012-01-25 11:54:23 +01:00
Tim-Philipp Müller
58a4d806d1 multiqueue: fix size of atomic counter 2012-01-22 01:27:42 +00:00
Tim-Philipp Müller
13d91d1f6c Use recent GLib API unconditionally now that we depend on the latest GLib 2012-01-22 01:25:22 +00:00
Wim Taymans
252327f87a Update for new gthread API 2012-01-19 09:27:04 +01:00
Sebastian Dröge
148bf27ce3 Merge branch 'master' into 0.11 2012-01-10 13:00:07 +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
0f6ca2afe4 queue2: unmap with the right data pointer
Use the original data pointer to unmap the buffer memory.
2012-01-06 13:06:32 +01:00
Idar Tollefsen
b9b3795c3c plugins: explicitly cast initialization values to the correct type
https://bugzilla.gnome.org/show_bug.cgi?id=667288
2012-01-04 23:59:57 +00:00
Tim-Philipp Müller
2836cbee94 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst/gsttaglist.c
	plugins/elements/gstoutputselector.c
2012-01-02 02:21:40 +00:00
Tim-Philipp Müller
be04f3945c index: remove GstIndex and GstIndexFactory for now
There are many good use cases for GstIndex and we want
to add it back again in some form, but possibly not with
the current API, which is very powerful (maybe too powerful),
but also a bit confusing. At the very least we'd need to
make the API bindings-friendly.
2011-12-30 18:32:57 +00:00
Thiago Santos
71fe1ad070 output-selector: Do not false warn about unlinked pad
When output-selector didn't receive a newsegment event it would
warn about pad being unlinked when switching pads. Making the logs
wrong and misleading.
2011-12-29 16:59:29 -03:00
Tim-Philipp Müller
2c2efb06bb filesrc: remove "fd" property
It's no longer useful, since we don't use mmap any more anyway,
and we might use a different API for I/O in future (such as GIO).
2011-12-26 18:44:39 +00:00
Tim-Philipp Müller
81ce8b76d0 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	plugins/elements/gstfilesrc.c
2011-12-25 12:47:55 +00:00
Tim-Philipp Müller
8a932dbca6 filesrc: return any remaining data on EOS before returning FLOW_UNEXPECTED 2011-12-25 12:42:11 +00:00
Tim-Philipp Müller
cf5de908fb filesrc: minor cosmetic changes
Rename woffset variable, maintain separate bytes_read in addition
to length variable.
2011-12-25 12:29:46 +00:00
Tim-Philipp Müller
f6a4af20b2 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	libs/gst/base/gstbasetransform.c
	libs/gst/controller/gstinterpolationcontrolsource.c
	libs/gst/controller/gstlfocontrolsource.c
	plugins/elements/gstfilesrc.c

Dit not merge controller or basetransform changes.
2011-12-25 11:58:12 +00:00
Vincent Penquerc'h
431fc714c9 filesrc: do not mistake short reads for EOS
While local filesystems will usually not cause short reads,
this may happen on seekable files on some remote filesystems.
Instead, loop till we get the requested amount of data, or
an actual EOS (ie, 0 bytes).

https://bugzilla.gnome.org/show_bug.cgi?id=665921
2011-12-12 13:35:06 +00:00
Tim-Philipp Müller
eaa2d81474 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst/gstindexfactory.c
	libs/gst/base/gstbasetransform.c
	plugins/elements/gstfakesink.c
	plugins/elements/gstfakesrc.c
	plugins/elements/gstidentity.c
	plugins/elements/gstinputselector.c
	plugins/elements/gstoutputselector.c

Note: did not merge any of the basetransform changes from 0.10.
2011-12-08 00:39:10 +00:00
Sebastian Dröge
47de97df84 inputselector: Don't send a NEWSEGMENT event if a buffer arrived before the segment was configured 2011-12-07 11:01:49 +01:00
Sebastian Dröge
7952a54299 outputselector: Don't send last segment/buffer when no segment was configured yet 2011-12-07 11:01:31 +01:00
Sebastian Dröge
c8909ab059 fakesink: Make event/buffer verbose output consistent with identity 2011-12-06 14:55:57 +01:00
Sebastian Dröge
b7b84671ba identity: Print buffer flags in the verbose output 2011-12-06 14:55:57 +01:00
Sebastian Dröge
675e54f1f4 fakesrc: Make event/buffer verbose output consistent with identity and print buffer flags 2011-12-06 14:55:57 +01:00
Wim Taymans
ebc25e895f basesrc: add async start option
Add a method to enable async start behaviour. The subclass can then complete the
start operation from any other thread by caling gst_base_src_start_complete().
The base class can wait for the start to complete with
gst_base_src_start_wait().
2011-12-06 14:01:50 +01:00
Wim Taymans
e7e948a5bf filesrc: cleanup error path 2011-12-06 13:47:29 +01:00
Tim-Philipp Müller
a1daf846f3 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst/gstobject.h
	libs/gst/check/gstcheck.h
	libs/gst/controller/gstcontroller.c
	plugins/elements/gstidentity.c
	tools/gst-xmlinspect.c
2011-12-04 15:38:09 +00:00
Tim-Philipp Müller
2666450864 Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here in 0.10.
2011-12-04 14:38:26 +00:00
Tim-Philipp Müller
5889260d5a Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We can't change most of
these in 0.10 because they're part of our API and ABI.
2011-12-04 13:35:38 +00:00
Wim Taymans
0e38f0dad0 basesink: clean up event handling
Add new wait_eos vmethod to wait for the eos timeout before posting the EOS
message on the bus.
Add default event handler. Move the default event actions in there. Call the
event vmethod from the pad event handler. Subclasses are now supposed to chain
up to the parent event handler or unref the event and do their own thing.
Avoid passing unused parameters to functions.
2011-12-02 22:20:08 +01:00
Mark Nauwelaerts
bfcb5a43a6 identity: unlock clock wait when appropriate
... notably FLUSH and state change to READY.
2011-12-02 13:41:54 +01:00
Edward Hervey
9d6b8d14c3 queue: source and sink pads proxy caps 2011-11-29 11:47:34 +01:00
Tim-Philipp Müller
e3dd1a8196 queue2: fix up comment after merge from 0.10 2011-11-28 01:12:48 +00:00
Tim-Philipp Müller
5acdc22001 Merge remote-tracking branch 'origin/master' into 0.11 2011-11-28 01:11:47 +00:00
Tim-Philipp Müller
3b28af5171 queue2: fix refactoring of draining-on-eos, munge flow return to FLOW_OK 2011-11-28 01:10:20 +00:00
Tim-Philipp Müller
6ed2b05157 queue2: fix up new bufferlist code for 0.11 2011-11-28 01:00:28 +00:00
Tim-Philipp Müller
17ddbc3072 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	plugins/elements/gstqueue2.c
2011-11-28 00:40:55 +00:00
Tim-Philipp Müller
2a3e7c4feb queue2: add bufferlist support
We want to maintain buffer lists if possible.
2011-11-28 00:16:40 +00:00
Tim-Philipp Müller
d663e18402 queue2: split out draining of queue on FLOW_UNEXPECTED into separate function 2011-11-28 00:16:40 +00:00
Tim-Philipp Müller
c9df12754d queue2: pass item type enum to _enqueue instead of simple isbuffer boolean
Avoids some unnecessary GST_IS_EVENT()
2011-11-28 00:16:40 +00:00
Tim-Philipp Müller
2d7f9cfe92 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst/gstbuffer.h
	gst/gstbufferlist.h
	gst/gstcaps.h
	gst/gstdatetime.h
	gst/gstelementfactory.h
	gst/gstevent.h
	gst/gstghostpad.h
	gst/gstindexfactory.h
	gst/gstiterator.h
	gst/gstmessage.h
	gst/gstminiobject.h
	gst/gstpipeline.h
	gst/gstquery.h
	gst/gstsegment.h
	gst/gststructure.h
	gst/gsttaglist.h
	gst/gsturi.h
	gst/gstvalue.h
	libs/gst/base/gstbitreader.h
	libs/gst/base/gstbytereader.h
	libs/gst/base/gstbytewriter.h

Note: can't use G_GNUC_MALLOC with GstCaps return
values in 0.11 because of the EMPTY+ANY singletons.
2011-11-26 19:44:23 +00:00
Sebastian Dröge
1fa356a23c Merge branch 'master' into 0.11
Conflicts:
	gst/gstpad.c
	libs/gst/base/gstbaseparse.c
2011-11-24 11:23:07 +01:00
Vincent Penquerc'h
611ac6ea85 multiqueue: check filled state of queues even if another one is empty
This will avoid a case where overrun is never signalled if some
stream never produces any data, causing playbin2 to not end preroll.

https://bugzilla.gnome.org/show_bug.cgi?id=660778
2011-11-24 10:38:34 +01:00
Wim Taymans
407f45dc7f event: add STICKY_MULTY events
Add a new event flag for sticky events so that multiple events of that type can
be stored on a pad at the same time. Change the _get_sticky_event() function to
loop over the multiple events of a type.
Change the foreach function to make it possible to removed and modify the sticky
events on a pad.
Use an variable size array now to store the events. This could later be
optimized some more.
2011-11-23 18:05:00 +01:00
Matej Knopp
6ea74a0572 Fix printf format compiler warnings on OSX/64bit
https://bugzilla.gnome.org/show_bug.cgi?id=664491
2011-11-22 00:51:06 +00: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
12d5f03453 pad: fix scheduling mode enums
GstPadActivateMode -> GstPadMode
GST_PAD_ACTIVATE_* -> GST_PAD_MODE_*
2011-11-18 12:39:55 +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
361a7ae44d add parent to internal links 2011-11-16 17:49:46 +01:00
Wim Taymans
09a8294d36 pad: add parent to the query function 2011-11-16 17:22:56 +01:00
Wim Taymans
54e1174060 GstPadFlags: rename flags GST_PAD_* -> GST_PAD_FLAG_* 2011-11-16 12:36:51 +01:00
Wim Taymans
06d4828df3 plugins: remove obsolete parent checks 2011-11-16 12:11:12 +01:00
Wim Taymans
e85198bc32 _query_peer_*() -> _peer_query_*() 2011-11-15 17:50:34 +01:00
Wim Taymans
2358938dbd _accept_caps() -> _query_accept_caps() 2011-11-15 17:40:19 +01:00
Wim Taymans
b5c3e254b1 pad: remove getcaps and use caps query
Remove the getcaps function on the pad and use the CAPS query for
the same effect.
Add PROXY_CAPS to the pad flags. This instructs the default caps event and query
handlers to pass on the CAPS related queries and events. This simplifies a lot
of elements that passtrough caps negotiation.
Make two utility functions to proxy caps queries and aggregate the result. Needs
to use the pad forward function instead later.
Make the _query_peer_ utility functions use the gst_pad_peer_query() function to
make sure the probes are emited properly.
2011-11-15 11:20:48 +01:00
Tim-Philipp Müller
f598856765 plugins, tools: update for get_protocols() return value change 2011-11-13 23:25:23 +00:00
Tim-Philipp Müller
dfa9bb8088 elements: update fd + file sources and sinks for GstUriHandler changes 2011-11-13 18:05:24 +00:00
Tim-Philipp Müller
34e3e26467 urihandler: remove "new-uri" signal
No one but filesrc used that API. Should probably be replaced by
requiring an "uri" property instead, and then objects can do a
notify on that. Also removed interface structure padding, it's
not needed.
2011-11-13 15:37:40 +00:00
Wim Taymans
4b216bf73a adapter: remove flush from _unmap 2011-11-10 18:18:24 +01:00
Wim Taymans
b7966c0c7d pad: make an ACCEPT_CAPS query
Replace the acceptcaps function with a query.
2011-11-09 17:36:00 +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
ac9e5533b5 pad: add more queries
Add more query functions to prepare for doing more with queries
2011-11-09 11:22:36 +01:00
Wim Taymans
9c0d8ca718 Merge branch 'master' into 0.11
Conflicts:
	gst/gstelement.h
	gst/gstghostpad.c
	gst/gstminiobject.c
2011-11-08 12:54:15 +01:00
Tim-Philipp Müller
16dcd5e958 docs: fix Since: markers for API added after 0.10.35 2011-11-08 00:32:36 +00:00
Wim Taymans
c2c9776027 Merge branch 'master' into 0.11
Conflicts:
	gst/gstbin.c
2011-11-04 19:11:19 +01:00
Tim-Philipp Müller
2f8ac67726 queue: use statically allocated GQueue 2011-11-03 23:08:52 +00:00
Tim-Philipp Müller
cc279e6bdd queue2: use statically allocated GQueue 2011-11-03 22:41:13 +00:00
Wim Taymans
d169fa8728 fix request pad
Make all request pads take _%u in the template.
Fix up unit tests.
2011-11-03 17:49:45 +01:00
Wim Taymans
88e12228cf bufferlist: clean up API
gst_buffer_list_len() -> gst_buffer_list_length()
gst_buffer_list_sized_new() -> gst_buffer_list_new_sized()
2011-11-02 08:59:43 +01:00
Tim-Philipp Müller
4f004eff38 pad: rename GstActivateMode to GstPadActivateMode
These might be useful:
sed -i -e 's/GstActivateMode/GstPadActivateMode/g' `git grep GstActivateMode | sed -e 's/:.*//' | sort -u`
sed -i -e 's/GST_ACTIVATE_/GST_PAD_ACTIVATE_/g'    `git grep GST_ACTIVATE_   | sed -e 's/:.*//' | sort -u`
2011-11-01 00:25:02 +00:00
René Stadler
fdd115d8c3 capsfilter: fix caps leak
gst_event_new_caps does not steal a reference to the caps.
2011-10-12 14:34:24 +02:00
Edward Hervey
a21008ff2e capsfilter: Don't leak caps 2011-10-11 13:53:39 +02:00
Wim Taymans
ea012d3dd7 pad: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2011-10-10 11:33:51 +02:00
Tim-Philipp Müller
434e7042d8 base: make GstDataQueue private API for multiqueue
There's no code that uses it other than multiqueue, so make it private
to multiqueue for now. That way we can also do optimisations that
require API/ABI breaks. If anyone ever wants to use it, we can still
make it public again.
2011-10-07 13:54:37 +01:00
Nicolas Dufresne
f0219b327d basesink: make it easy to override the pad query
Add a vmethod to handle the pad query.
Install a default handler for the pad query.
Use the new query function in filesink
2011-09-08 14:46:59 +02:00
Sebastian Dröge
43538e2e75 Merge branch 'master' into 0.11
Conflicts:
	docs/design/draft-buffer2.txt
	docs/design/part-TODO.txt
	docs/design/part-block.txt
	docs/design/part-bufferlist.txt
	docs/design/part-caps.txt
	docs/design/part-element-transform.txt
	docs/design/part-events.txt
	docs/design/part-negotiation.txt
	gst/gstcaps.c
	gst/gstevent.h
	gst/gstghostpad.c
	gst/gstinterface.c
	gst/gstpad.c
	gst/gstpad.h
	gst/gstutils.c
	libs/gst/base/gstbasesink.c
	libs/gst/base/gstbasesrc.c
	libs/gst/base/gstbasetransform.c
	libs/gst/base/gsttypefindhelper.c
	plugins/elements/gstcapsfilter.c
	plugins/elements/gsttee.c
	tests/check/generic/sinks.c
	tools/gst-launch.1.in
2011-09-08 14:28:23 +02:00
Piotr Fusik
14f5518f3d docs, gst: typo fixes
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +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
0b31cb5d73 fileindex: explicitly cast to the enum types
Fixes warning #188: enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +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
Wim Taymans
31b70ea701 Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbasetransform.c
	libs/gst/base/gstbasetransform.h
2011-08-26 11:09:07 +02:00
Sjoerd Simons
341d7a4c0d capsfilter: don't assume _get_caps still has to be
_set_caps only gets called when the buffer is actually pushed, so there
is a reasonably big window between when the initial caps are retrieved
and when the caps are set on our src pad. So we can't assume the not
having negotiated caps on our src pad means _get_caps still has to be
called.

Instead simply always suggest the new caps on buffer_alloc.
2011-08-26 10:23:18 +02:00
Wim Taymans
e01b5c0f46 Merge branch 'master' into 0.11 2011-08-15 14:43:14 +02:00
Tim-Philipp Müller
a7644b3b1c queue2: fix deadlock in error path
Don't lock the same lock twice. Spotted by Josep Torre Valles.
2011-08-12 19:44:35 +01: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
32841d258d basesink: make it easy to override the pad query
Add a vmethod to handle the pad query.
Install a default handler for the pad query.
Add a vmethod to setup the allocation properties.
Use the new query function in filesink
2011-07-26 12:21:38 +02:00
Wim Taymans
2ff17fb622 basetransform: fix sink event handling
Implement the sink event handling like the src event handler. Make the default
implementation parse and forward the event. This makes it possible to actually
return an error value from the event handler.
2011-07-22 21:17:42 +02:00
Wim Taymans
85d2355125 basetrans: Remove ref in passthrough
Remove the requirement to have to return a ref to the input buffer when in
passthrough mode. This saves a few ref/unref cycles and fixes another 0.11
FIXME.
2011-07-21 17:42:08 +02:00
Wim Taymans
e4ee356449 basetrans: remove useless variables from prepare_output_buffer
Remove the caps and size from the prepare_output_buffer function. with
bufferpools and capsnego done differently, we don't need this in most cases and
if we do, we can simply use the transform_size function and get the caps from
the srcpad.
2011-07-21 13:56:11 +02:00
Wim Taymans
1b286af5d6 queue: fix unit test
Set the right position member in the segment event.
Add some debug to queue.
2011-07-05 16:20:03 +02:00
Mark Nauwelaerts
7a0e401133 inputselector: avoid iterating over a single NULL pad 2011-06-28 19:01:57 +02:00
Koop Mast
73983b3ec1 tee: use & instead of && for masking bits
See #653137
2011-06-22 17:12:34 +02:00
Wim Taymans
b322a401c7 uri: remove some _full variants 2011-06-22 16:38:04 +02:00
Wim Taymans
54fd50bfe1 buffer: add index to _take_memory()
Add an index to gst_buffer_take_memory() so that we can also insert memory at a
certain offset. This is mostly interesting to prepend a header memory block to
the buffer.
2011-06-13 16:31:53 +02:00
Wim Taymans
b27ee30a35 buffer: make new _buffer_allocate method
Make a new method to allocate a buffer + memory that takes the allocator and the
alignment as parameters. Provide a macro for the old method but prefer to use
the new method to encourage plugins to negotiate the allocator properly.
2011-06-10 13:49:23 +02:00
Wim Taymans
c35e0de65e basesrc: add fill vmethod to basesrc
Add a new fill virtual method to basesrc. The purpose of this method is to fill
a provided buffer with data.
Add a default implementation of the create method that allocates a buffer and
calls the fill method on it. This would allow the base class to implement
bufferpool and allocator negotiation on behalf of the subclasses.
Fix the blocksize property.
Make filesrc use the new fill method.
2011-06-10 13:04:23 +02:00
Wim Taymans
4d6e4ea9e6 Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbasesrc.c
2011-06-09 12:01:02 +02:00
Wim Taymans
d8212d941c pad: forward events by default
Always forward all events in the default handler. Previously it used to not
forward caps events by default. It makes more sense to forward the caps events,
if the element is interested in the caps, it will implement an event handler to
retrieve the caps and then it can decide to forward or not. If the element has
no event handler, it probably just doesn't care about caps and it probably is
also not going to modify the data in a way that needs a caps change.
2011-06-09 11:49:20 +02:00
Mark Nauwelaerts
de514c63d1 filesrc/fdsrc: indicate dynamic size handling to basesrc 2011-06-08 20:16:28 +02:00
Wim Taymans
72d0a830ff filesrc: remove MMAP code
Remove the mmap code, it was disabled and probably needs a complete rewrite
anyway if this is to be ported to 0.11.
2011-06-07 17:03:09 +02:00
Wim Taymans
fa6615dd70 outputselector: fix refcounting of events
_pad_event_forward() takes ownership of the caps.
2011-06-07 10:51:23 +02:00
Wim Taymans
acc5e6be2f plugins: use the caps event
Use the caps event and avoid using the setcaps function. Use some of the new pad
forward functions to implement desired behaviour.
2011-06-07 10:04:52 +02: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