Commit graph

11970 commits

Author SHA1 Message Date
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 60bbb9c24f docs: add note/warning to gst_index_get_writer_id() docs about the OBJECT_LOCK
https://bugzilla.gnome.org/show_bug.cgi?id=646811
2011-04-19 13:23:19 +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
Tim-Philipp Müller f4b178af3b query: const-ify formats arguments to gst_query_set_formatsv() 2011-04-19 11:48:05 +01:00
Sebastian Dröge 355dbdfa7e tests: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 11:45:37 +02: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 5020738a6d elements: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 11:45:36 +02:00
Sebastian Dröge 100bdfb01c net: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 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
Sebastian Dröge 0f3f816f3f utils: Remove GST_BOILERPLATE and friends 2011-04-19 11:45:32 +02:00
Sebastian Dröge 6e41a3cf2f pad: Make the size parameter of gst_pad_alloc_buffer() unsigned
Internally guints were used everywhere already.
2011-04-18 10:47:26 +02:00
Sebastian Dröge 9b2a8b8480 pad: Don't allow fixating ANY caps and remove FIXME 2011-04-18 10:41:18 +02:00
Sebastian Dröge 7c8617ea82 bin: Enable DURATION query caching
Elements must now post a DURATION message on the bus if they
change the duration in PAUSED or PLAYING.
2011-04-18 10:36:41 +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 a70df76c53 element: Add test for inheriting metadata/pad templates 2011-04-16 15:59:40 +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
Sebastian Dröge 64f6a18bad net: Use G_DEFINE_TYPE 2011-04-16 15:59:40 +02:00
Sebastian Dröge a9e69dc3be gst: Don't use base_init and use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-16 15:59:40 +02:00
Sebastian Dröge aad57970de element: Inherit element metadata and pad templates from parent classes
This allows to add pad templates and set metadata in class_init instead of
base_init. base_init is a concept that is not supported by almost all
languages and copying the templates/metadata for subclasses is the more
intuitive way of doing things.

Subclasses can override pad templates of parent classes by adding a new
template with the same now.

Also gst_element_class_add_pad_template() now takes ownership of the
pad template, which was assumed by all code before anyway.

Fixes bug #491501.
2011-04-16 15:59:35 +02:00
Tim-Philipp Müller a4f6746478 0.10.32.2 pre-release 2011-04-16 14:56:03 +01:00
Tim-Philipp Müller 9d57b2e285 po: update translations 2011-04-16 14:54:00 +01:00
Tim-Philipp Müller 7b9769b322 gst-launch: remove newline from translatable string 2011-04-16 14:52:40 +01:00
Tim-Philipp Müller d22ad73e74 gst: gobject-introspection scanner doesn't need to scan or update plugin info 2011-04-16 13:49:45 +01:00
Sebastian Dröge bc68243123 gst: make sure gobject-introspection scanner calls gst_init()
https://bugzilla.gnome.org/show_bug.cgi?id=647922
2011-04-16 14:34:41 +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
Tim-Philipp Müller 4116ef76c0 win32: add new baseparse API to libgstbase.def 2011-04-16 10:17:24 +01:00
Sebastian Dröge 8bfdd8c817 Merge branch 'master' into 0.11 2011-04-16 09:33:06 +02:00
Sebastian Dröge b8b0f75887 win32: Add exports for the GstParseContext and GstBufferListIterator types 2011-04-16 09:32:17 +02:00
Sebastian Dröge f51a23a83c Merge branch 'master' into 0.11 2011-04-16 08:59:58 +02:00
Tim-Philipp Müller f660536eb3 pluginloader: only run gst-plugin-scanner with /usr/bin/arch wrapper on OS X >= 10.5
Based on patch by: Daniel Macks <dmacks@netspace.org>

Earlier versions of OSX don't support proper multiarch and
trying to use /usr/bin/arch -foo with those versions would
just break things.

https://bugzilla.gnome.org/show_bug.cgi?id=615357
2011-04-15 21:02:35 +01: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
Sebastian Dröge 8839c513f7 queue2: Add missing ) to the ring-buffer-max-size property description 2011-04-15 13:59:02 +02: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
Sebastian Dröge 379d5dfb07 bufferlist: Add boxed type for GstBufferListIterator for gobject-introspection 2011-04-14 16:14:02 +02:00
Sebastian Dröge 2d7c81f1d7 parse: Add boxed type for GstParseContext for gobject-introspection 2011-04-14 16:14:01 +02:00
Sebastian Dröge bf6c3ea6df gst: Add some more gobject-introspection annotations 2011-04-14 16:14:01 +02:00
Sebastian Dröge ea36e12bbc multiqueue: Don't leak the sinkpad name 2011-04-14 09:07:48 +02:00
Sebastian Dröge b44d555865 multiqueue: Don't leak pads in the named pads unit test 2011-04-14 09:07:25 +02:00
Sebastian Dröge 151b7264e8 utils: Fix caps leaks in gst_element_factory_can_accept_{any,all}_caps_in_direction() 2011-04-14 09:00:44 +02:00
David Schleef 0b6430f6e8 parser: Allow element names to begin with digits 2011-04-13 12:24:12 -07:00
David Schleef e9afe72710 tests: Add test for greatest common divisor 2011-04-13 10:31:03 -07:00
Ole André Vadla Ravnås 037efe8738 elements: 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:41:17 +02:00