Commit graph

127 commits

Author SHA1 Message Date
Mark Nauwelaerts
2363490ef5 baseparse: really provide upstream ts to subclass 2012-02-14 19:33:33 +01:00
Wim Taymans
ebf502d1c6 Merge branch 'master' into 0.11 2012-02-14 10:35:06 +01:00
Mark Nauwelaerts
b761f5479a baseparse: modify API to a _finish_frame based approach
... which aligns it with other baseclass in the wild, and should give
converter parsers a bit cleaner freedom.
2012-02-13 18:41:00 +01:00
Mark Nauwelaerts
c8ea9994aa baseparse: fix reverse playback
... especially for all-keyframe (audio) cases.
2012-02-13 18:14:02 +01:00
Wim Taymans
5fbdd763bb Merge branch 'master' into 0.11 2012-02-10 15:03:03 +01:00
Mark Nauwelaerts
954dd59fdd baseparse: bitrate mechanics should not deal with duration update
... since that is already handled by _update_duration, or should not be done
altogether if the duration is determined by non-estimated means.

Fixes #669502.
2012-02-10 14:47:00 +01:00
Mark Nauwelaerts
a306518cee baseparse: clean up a few minor extraneous tokens 2012-02-08 15:38:28 +01:00
Mark Nauwelaerts
2aaa475a4f baseparse: remove closing segment handling 2012-02-08 15:38:07 +01:00
Olivier Crête
e234a10c63 Use macros to register boxed types thread safely 2012-01-28 16:42:38 +00:00
Wim Taymans
21455d35b1 tests: fix some more leaks 2012-01-27 12:52:01 +01: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
Tim-Philipp Müller
66d19b65fb Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	tools/gst-inspect.c
2012-01-13 00:22:03 +00:00
Antoine Tremblay
df6de8fe0c baseparse: clear adapter in reset so baseparse is reusable
GstBaseParse was not clearing its adapter on reset causing
problems when a pipeline went for example from PLAYING to NULL
state and then back to PLAYING again. The data from the last
stream would be used in the parser.

https://bugzilla.gnome.org/show_bug.cgi?id=667444
2012-01-12 19:53:11 +00:00
Wim Taymans
9540014d2e baseparse: turn assert into a real error
Post a real error instead of just asserting.
2012-01-02 15:42:46 +01:00
Tim-Philipp Müller
c61b2ade7b index: rename GstAssocFlags to GstIndexAssociationFlags
Just in case we resurrect this later.
2011-12-30 18:32:59 +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
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
Matej Knopp
f4040d3f6b baseparse: Clear queued frames with other queues 2011-12-12 13:37:25 +01: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
Vincent Penquerc'h
e7b3305f70 baseparse: do not use a byte value instead of a time value when bisecting
This fixes FLAC seeking on some FLAC files.
2011-12-07 17:57:49 +00: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
8356be8ae5 update for indexable change 2011-11-28 18:23:41 +01:00
Matej Knopp
396c76a34e baseparse: fix broken default caps query
https://bugzilla.gnome.org/show_bug.cgi?id=664880
2011-11-26 20:03:01 +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
Sebastian Dröge
aa9ba2dd4e baseparse: Return template caps instead of other side's peer caps if get_sink_caps vfunc is not implemented
Using gst_pad_proxy_get_caps() breaks backwards compatibility with old
parsers because it will propagate the other side's fields like "parsed"
and "framed" and also breaks parser/converters.

Fixes bug #664221.
2011-11-23 13:42:56 +01:00
Wim Taymans
b7ea5ca1e0 baseparse: also let caps events go through 2011-11-22 18:40:49 +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
12d5f03453 pad: fix scheduling mode enums
GstPadActivateMode -> GstPadMode
GST_PAD_ACTIVATE_* -> GST_PAD_MODE_*
2011-11-18 12:39:55 +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
e85198bc32 _query_peer_*() -> _peer_query_*() 2011-11-15 17:50:34 +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
Wim Taymans
4b216bf73a adapter: remove flush from _unmap 2011-11-10 18:18:24 +01:00
Wim Taymans
6cc7254166 remove query types
It was not really useful
2011-11-09 11:47:10 +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
6c627481b3 utils: remove _found_tags_ API
remove gst_element_found_tags() and gst_element_found_tags_for_pad(), they are
nothing more than a wrapper around gst_pad_push_event()
2011-11-02 12:06:47 +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
Tim-Philipp Müller
4e7944b0b9 taglist: rename _new() to _new_empty() and new_full*() to new*() 2011-10-30 22:24:25 +00:00
Wim Taymans
852851edab Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbasetransform.c
2011-10-27 15:27:19 +02:00
Edward Hervey
df6044f7eb Merging origin/master
Conflicts:
	gst/gstbin.c
	gst/gstbus.c
	gst/gstdebugutils.c
	gst/gstpad.c
	libs/gst/base/gstbaseparse.c
	libs/gst/base/gstbasesrc.c
2011-10-21 10:52:46 +02:00
Sebastian Dröge
b046ba6e3a baseparse: Fix documentation, it's pre_push_frame and not pre_push_buffer 2011-10-20 16:59:01 +02:00
Sebastian Dröge
64493d9603 basebarse: Add detect vfunc to allow subclasses to do format detection before anything else
API: GstBaseParseClass::detect()

This is called with the first buffers until the subclass has finished detection
and only afterwards the original buffers are handled as before. The vfunc allows
detection of the stream format without breaking the upstream framing.
2011-10-20 11:48:24 +02:00
Thiago Santos
e3f2d7db71 baseparse: add getcaps function
Adds a getcaps function to the sink pad to make parsers propagate
downstream caps restrictions to upstream.

The pipeline "audiotestsrc num-buffers=100 ! faac ! aacparse !
"audio/mpeg, version=(int)4, stream-format=(string)adts" ! filesink"
wouldn't work because aacparse wouldn't propagate the adts restriction
upstream to faac.

This patch adds a default getcaps to the sink pad to simply proxy
downstream caps and also adds a 'get_sink_caps' function pointer
to GstBaseParseClass for subclasses that need more refined getcaps.

https://bugzilla.gnome.org/show_bug.cgi?id=661874
2011-10-18 08:04:31 -03:00
Sebastian Dröge
1eb73339b9 baseparse: Fix handling of queued frames
gst_base_parse_push_frame() already frees the frame, no need to
do it another time again.
2011-10-18 10:58:57 +02:00