Sebastian Dröge
b4bed6e09e
basetransform: Prefer caps order given by the subclass of the template caps order
2011-05-14 11:39:34 +02:00
Vincent Penquerc'h
03050fd71d
basesrc: do not set first buffer timestamp to 0 for live sources
...
Doing so avoids a large timestamp gap between first and second buffer
for live sources which take time to start up.
The first buffer now has a "live" timestamp based on the running time,
as other buffers do.
https://bugzilla.gnome.org/show_bug.cgi?id=649369
2011-05-12 18:10:14 +01:00
Wim Taymans
a59bc0ab02
basetransform: remove obsolete code
...
Remove some obsolete code.
Don't try to reconfigure when we don't have sink caps.
2011-05-11 18:09:03 +02:00
Sebastian Dröge
ef673656b7
basetransform: Implement support for pad reconfiguration again
2011-05-11 15:26:02 +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
7f24a48387
event: _qos_full -> _qos
2011-05-09 18:48:55 +02:00
Wim Taymans
c07b57fc05
segment: remove _full version
...
Rename the _full versions of the functions to the normal function names.
2011-05-09 17:51:07 +02:00
Wim Taymans
d63829fc9a
segment: remove abs_rate from segment structure
...
Remove the abs_rate field from the segment structure, we can trivially compute
it when needed.
2011-05-09 16:39:13 +02:00
Wim Taymans
4eed658be1
basetransform: Use CAPs event
...
Use the caps event to configure basetransform.
Remove force_alloc hack, we don't need this in 0.11 with new upstream
negotiation.
Avoid getting some pad caps.
2011-05-09 15:08:51 +02:00
Wim Taymans
f127a416fa
basesink: add some more debug
2011-05-09 15:08:51 +02:00
Wim Taymans
24573211c6
Merge branch 'master' into 0.11
2011-05-08 13:14:55 +02:00
Wim Taymans
d34ca6140b
basesink: use CAPS event instead of setcaps function
2011-05-08 13:07:13 +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
Tim-Philipp Müller
dccde2652f
baseparse: don't post loads of empty taglists
...
Only post bitrate updates if there's something to post, don't
post empty taglists if nothing changed.
2011-05-06 23:44:15 +01:00
Wim Taymans
02e5feb2bf
pad: avoid using the old GST_PAD_CAPS
...
Don't use GST_PAD_CAPS but instead use the new gst_pad_get_current_caps()
method.
Avoid setting caps on buffers.
2011-05-06 19:04:54 +02:00
Wim Taymans
fb3da828e5
element: rename gst_element_lost_state_full()
...
Rename gst_element_lost_state_full() to gst_element_lost_state() and
remove the old method name.
2011-05-06 12:19:16 +02:00
Sebastian Dröge
0069dc08ec
basetransform: Don't get the parent twice in the setcaps function
2011-05-05 18:21:21 +02:00
Sebastian Dröge
aebe4a3c13
basetransform: In getcaps() prefer the caps order and caps of downstream if possible
2011-05-05 15:22:08 +02:00
Sebastian Dröge
a6c1cbe69a
basetransform: Prefer caps order given by the subclass of the template caps order
2011-05-05 15:20:10 +02:00
Sebastian Dröge
07f59f5404
basesrc: Use the reconfigure flag on the pad instead of the event
2011-05-05 15:20:02 +02:00
Sebastian Dröge
1cc95da945
basetransform: Use new reconfigure flag on the pads instead of the reconfigure event
2011-05-05 15:19:56 +02:00
Sebastian Dröge
0179530bf1
basesrc: Only renegotiate once after receiving a renegotiate event
...
Also make this threadsafe.
2011-05-05 15:04:16 +02:00
Thiago Santos
93904ef3ad
basesrc: Handle the new renegotiate event
...
Makes basesrc handle the new renegotiate event by using a
renegotiate flag.
2011-05-05 15:03:54 +02:00
Sebastian Dröge
24cef7aa2f
basetransform: Also call gst_base_transform_reconfigure() on renegotiate events
2011-05-05 15:02:56 +02:00
Thiago Santos
3baed25383
basetransform: Handle the new renegotiate event
...
Let basetransform push a renegotiate event upstream
when it gets a new suggestion
2011-05-05 15:02:46 +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
Sebastian Dröge
de5ce36dd1
basetransform: Remove nowadays unused and uninitialized setcaps variable
2011-05-05 12:28:02 +02:00
Sebastian Dröge
65eafd9340
Merge branch 'master' into 0.11
...
Conflicts:
docs/gst/gstreamer-sections.txt
gst/gstelementfactory.c
gst/gstminiobject.c
2011-05-05 12:27:51 +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
Stefan Kost
511f556915
docs: it its %TRUE (constant)
...
As spotted by Tim.
2011-05-03 14:01:57 +03:00
Stefan Kost
217b209aba
docs: add missing parameter docs
2011-05-03 13:03:21 +03:00
Wim Taymans
baebf253ad
transform: do pad_alloc fallback correctly
2011-04-29 13:42:57 +02:00
Wim Taymans
6ab7e6c15d
Remove pad_alloc, this can now be done better
...
Remove pad_alloc and all references. This can now be done more efficiently and
more flexible with the ALLOCATION query and the bufferpool objects. There is no
reverse negotiation yet but that will be done with an event later.
2011-04-29 13:26:19 +02:00
Josep Torra
5ccda2f8f4
Small cosmetic cleanups
...
Make sure the return values from g_return_* are of the right type.
2011-04-25 11:10:47 +02:00
Wim Taymans
070cdaab7c
Merge branch 'master' into 0.11
2011-04-25 10:30:41 +02:00
Thiago Santos
0253c85b0d
basetransform: fix negotiation regression
...
Fixup patch for 83597767b1
Use a separate variable for knowing if a pad alloc has been made
instead of checking for the flow return that might not be the
result of the pad alloc
https://bugzilla.gnome.org/show_bug.cgi?id=648220
2011-04-21 14:04:49 +01:00
Wim Taymans
24bb414035
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
2011-04-19 16:21:15 +02:00
Havard Graff
38dcd41b97
basetransform: don't unref trans until the function is done using it
...
trans->priv->force_alloc = FALSE would crash if the ref held is the last
https://bugzilla.gnome.org/show_bug.cgi?id=648215
2011-04-19 15:09:14 +01:00
Tim-Philipp Müller
b35d54dcd1
baseparse: don't deadlock when setting external index
...
Protect index with its own lock. gst_index_get_writer_id() may take
the object lock internally (the default resolver, GST_INDEX_RESOLVER_PATH,
will anyway), so if we're using that to protect the index as well,
we'll deadlock.
https://bugzilla.gnome.org/show_bug.cgi?id=646811
2011-04-19 13:05:53 +01:00
Tim-Philipp Müller
c364539620
baseparse: make fmtlist constant
2011-04-19 11:51:30 +01:00
Sebastian Dröge
1cff66d587
base{sink,src}: Don't try to fixate ANY caps
2011-04-19 11:45:36 +02:00
Sebastian Dröge
7da7494adc
base: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 11:45:36 +02:00
Tim-Philipp Müller
94c0bc74ce
docs: remove reference to baseparse API that didn't make it
2011-04-16 15:20:08 +01:00
Sebastian Dröge
caaf5ad528
Merge branch 'master' into 0.11
2011-04-16 16:06:02 +02:00
Sebastian Dröge
9b90d3d9c0
base: Update docs to say class_init instead of base_init
...
And remove a useless base_init in basesrc
2011-04-16 15:59:40 +02:00
Tim-Philipp Müller
0bb5b6e435
libs: gobject-introspection scanner doesn't need to scan or update plugin info
...
Make sure the scanner doesn't load or introspect or check any plugins,
(especially not outside the build directory).
2011-04-16 10:45:16 +01:00
Tim-Philipp Müller
62d0001c84
libs: make sure gobject-introspection scanner calls gst_init()
...
https://bugzilla.gnome.org/show_bug.cgi?id=647922
2011-04-16 10:33:53 +01:00
Sebastian Dröge
8bfdd8c817
Merge branch 'master' into 0.11
2011-04-16 09:33:06 +02:00
Sebastian Dröge
f51a23a83c
Merge branch 'master' into 0.11
2011-04-16 08:59:58 +02:00
Tim-Philipp Müller
886246661f
baseparse: expose gst_base_parse_frame_free() for completeness
...
API: gst_base_parse_frame_free()
2011-04-15 19:07:55 +01:00
Tim-Philipp Müller
84a92464cf
baseparse: init frames on the stack with gst_base_parse_frame_init()
...
Frames must now be inited this way, can't just zero them
out and use them.
2011-04-15 18:52:18 +01:00
Tim-Philipp Müller
127df9a586
baseparse: more debug logging, minor clean-up
...
Trace frames, split out code to queue a frame for later.
2011-04-15 18:38:46 +01:00
Tim-Philipp Müller
8fe1924678
baseparse: change gst_base_parse_frame_init() to not take a GstBaseParse argument
2011-04-15 18:00:21 +01:00
Tim-Philipp Müller
e8ccbf4ca9
baseparse: make GstBaseParseFrame handling more bindings-friendly
...
Change semantics of gst_base_parse_push_frame() and make it take
ownership of the whole frame, not just the frame contents. This
is more in line with how gst_pad_push() etc. work. Just transfering
the content, but not the container of something that's not really
known to be a container is hard to annotate properly and probably
won't work. We mark frames allocated on the stack now with a private
flag in gst_base_parse_frame_init(), so gst_base_parse_frame_free()
only frees the contents in that case but not the frame struct itself.
https://bugzilla.gnome.org/show_bug.cgi?id=518857
API: gst_base_parse_frame_new()
2011-04-15 17:50:46 +01:00
Tim-Philipp Müller
37d7857e18
baseparse: register boxed type for GstBaseFrameParse
...
To make this usable for bindings.
https://bugzilla.gnome.org/show_bug.cgi?id=518857
2011-04-15 17:47:22 +01:00
Robert Swain
223a1f62be
baseparse: Remove unused but set variable
...
GCC 4.6.0 spits warnings about these.
2011-04-15 10:53:56 +02:00
Ole André Vadla Ravnås
e7bf5484c7
base: Fix pad callbacks so they handle when parent goes away
...
1) We need to lock and get a strong ref to the parent, if still there.
2) If it has gone away, we need to handle that gracefully.
This is necessary in order to safely modify a running pipeline. Has been
observed when a streaming thread is doing a buffer_alloc() while an
application thread sends an event on a pad further downstream, and from
within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing
while the streaming thread has its buffer_alloc() in progress.
2011-04-13 17:39:05 +02:00
Wim Taymans
62329c606a
baseparse: port to 0.11
2011-04-11 10:53:39 +02:00
Wim Taymans
6be4dbdb5a
Merge branch 'master' into 0.11
...
Conflicts:
android/base.mk
android/controller.mk
android/dataprotocol.mk
android/elements.mk
android/gst-inspect.mk
android/gst-launch.mk
android/gst-plugin-scanner.mk
android/gst.mk
android/indexers.mk
android/net.mk
win32/common/libgstbase.def
2011-04-11 10:26:54 +02:00
Alessandro Decina
3f1ef2255a
android: make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:08:07 +02:00
Tim-Philipp Müller
d353ddf38e
docs: minor fixes for baseparse docs
...
Class vfunc references still aren't right, no idea what
the correct markup for those is.
2011-04-09 23:02:50 +01:00
Tim-Philipp Müller
2401fe36fd
baseparse: minor variable name clean-up
2011-04-08 19:07:02 +01:00
Tim-Philipp Müller
9d98c62f0e
baseparse: rename _set_frame_props() to _set_frame_rate()
...
Seems like the best fit to what it does, and is shorter than
set_frame_properties() which might also have been confusing
because of GstBaseParseFrame.
https://bugzilla.gnome.org/show_bug.cgi?id=518857
2011-04-08 15:44:58 +01:00
Tim-Philipp Müller
5073948380
baseparse: replace format flags with gst_base_parse_set_{passthrough,syncable,has_timing_info}
...
This is more in line with e.g. GstBaseTransform's API, and makes for nicer
to read code. No getters for now since I don't see any use case for them,
the API is for subclasses, which usually know what format they're
dealing with already and hence know what they've set.
https://bugzilla.gnome.org/show_bug.cgi?id=518857
2011-04-08 15:44:58 +01:00
Tim-Philipp Müller
1874d63808
baseparse: make DRAIN and SYNC flags on baseparse, not the frame, and change to DRAINING and LOST_SYNC
...
The first because it seems a better fit conceptually, the second
to express booleanness. Also change the accessor macros for subclasses
to GST_BASE_PARSE_DRAINING and GST_BASE_PARSE_LOST_SYNC.
https://bugzilla.gnome.org/show_bug.cgi?id=518857
2011-04-08 15:44:58 +01:00
Tim-Philipp Müller
242e077e46
baseparse: add some padding to GstBaseParseFrame
...
Esp. since it's usually allocated on the stack.
https://bugzilla.gnome.org/show_bug.cgi?id=518857
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
99014adcae
baseparse: fix typo in docs for GST_BASE_PARSE_FORMAT_FLAG_PASSTHROUGH
...
https://bugzilla.gnome.org/show_bug.cgi?id=518857
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
251dfa402c
baseparse: use GQueue instead of GList for queued frames
...
and make buffer metadata writable before setting caps on queued
buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=646341
2011-04-08 15:44:57 +01:00
Zaheer Abbas Merali
783dbb9a71
baseparse: add GST_BASE_PARSE_FLOW_QUEUED to queue buffers until caps are known
...
This is useful for parser like flacparse or h264parse which may need to process
some buffers before they can construct the final caps, in which case they may
want to delay pushing the initial buffers until the full and proper caps are
known.
https://bugzilla.gnome.org/show_bug.cgi?id=646341
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
22b7dfc800
baseparse: add to docs and fix up gtk-doc markup a little
...
And add Since markers.
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
4709a26473
baseparse: replace set_seek() with _set_average_bitrate() and FLAG_SYNCABLE
...
This makes more sense conceptually, since the bitrate may be used
to estimate a seek position if there's no seek table or just for
duration reporting/estimation if we can't seek. Also, even if the
format is not syncable, we could still seek by pushing data from the
start and using the segment to make downstream clip.
https://bugzilla.gnome.org/show_bug.cgi?id=518857
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
de16d5adb3
baseparse: rename GstBaseFormat to GstBaseFormatFlags and fix up associated API
...
Also change gst_base_parse_set_format(parse,flags,switch_on) to
gst_base_parse_set_format_flags(parse,flags) which is more in line
with the rest of our API and how the function is used.
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
f691be223e
baseparse: don't expose GstAdapter in public header
...
None of the existing subclasses needs access to that, so there's
no reason to expose it for now.
https://bugzilla.gnome.org/show_bug.cgi?id=518857
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
e2bf3647f8
baseparse: move various segment-related members into the private instance struct
...
If none of the existing subclasses uses these, there's probably no
need to expose them at the moment. Keep the segment itself exposed
though.
https://bugzilla.gnome.org/show_bug.cgi?id=518857
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
b2a76895af
baseparse: remove unused GST_BASE_PARSE_{SINK,SRC}_NAME
...
https://bugzilla.gnome.org/show_bug.cgi?id=518857
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
9f1b9f1419
baseparse: re-indent header
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
c88a143cb6
baseparse: fix up GType name and make _get_type() function thread-safe
...
Rename GType from GstBaseParseBad to GstBaseParse.
2011-04-08 15:44:57 +01:00
Tim-Philipp Müller
20f29628aa
libs: add GstBaseParse which was moved from -bad
2011-04-08 15:44:57 +01:00
David Schleef
d6847fd4a1
baseparse: make_metadata_writable() fix
2011-04-08 15:44:56 +01:00
Tim-Philipp Müller
940a47ae09
baseparse: rename GType from GstAudioBaseParseBad to GstBaseParseBad
...
We use it for video as well now.
2011-04-08 15:44:56 +01:00
Stefan Kost
0774878e92
baseparse: trim trailing whitespace
2011-04-08 15:44:56 +01:00
Stefan Kost
e8f04e76b7
baseparse: use delta-unit flags instead of none
2011-04-08 15:44:56 +01:00
David Schleef
35a7228ed5
baseparse: update documentation for API changes
2011-04-08 15:44:56 +01:00
David Schleef
e57cb6b47a
baseparse: Create baseparse library
2011-04-08 15:44:56 +01:00
Havard Graff
3d833e42b6
basesrc: Make src query MT-safe
...
It is possible that the element might be going down while the event arrives
2011-04-08 14:58:41 +02:00
Sebastian Dröge
237e54d4fe
base: Unref events if the parent element disappeared
...
And also unref events if the basetransform subclass has no
event handler and the event is not forwarded at all.
2011-04-08 14:57:05 +02:00
Havard Graff
0daedb7409
base: Make upstream events MT-safe
2011-04-08 14:57:00 +02:00
Wim Taymans
5077630a99
Merge branch 'master' into 0.11
2011-04-07 16:13:56 +02:00
Sebastian Dröge
7945821f92
basesrc: Handle tag and custom downstream events the same
...
Especially drop tag events when flushing to not send them over
and over again.
Should've been in the last commit already but I forgot to call
git rebase --continue...
2011-04-07 10:48:04 +02:00
Sebastian Dröge
c7c3e46b08
bla
2011-04-07 10:40:16 +02:00
Sebastian Dröge
1d9cd86af6
basesrc: Send syncronized custom downstream/both events downstream from the streaming thread
...
Instead of just silently dropping them. The same was done for tag events
before already.
Fixes bug #635718 .
2011-04-07 10:29:41 +02:00
Wim Taymans
d1a7d54cb5
bytewriter: don't add NULL data
2011-03-31 18:39:57 +02:00
Wim Taymans
468ec5bc40
bufferlist: simplify bufferlists
...
We now have multiple memory blocks as part of the buffers and we can therefore
reduce the bufferlist to a simple array of buffers.
2011-03-31 17:51:02 +02:00
Wim Taymans
ebb14d95b2
buffer: more API tweaks
...
_trim -> _resize
_create_sub -> copy_region
2011-03-30 16:47:55 +02:00
Wim Taymans
a12ede3fb1
Merge branch 'master' into 0.11-fdo
...
Conflicts:
gst/gst.c
libs/gst/base/gstcollectpads.c
2011-03-28 20:11:20 +02:00
Wim Taymans
121b82ce27
buffer: fix subbuffers
2011-03-28 20:08:47 +02:00
Wim Taymans
beac9c4a95
buffer: fix remaining unit tests
2011-03-28 20:08:46 +02:00
Wim Taymans
121ab46aa6
memory: remove memory metadata again
2011-03-28 20:08:46 +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