Commit graph

5020 commits

Author SHA1 Message Date
Tim-Philipp Müller
4cbf794b0e gstpoll: don't pass non-objects as first argument to GST_DEBUG_OBJECT()
This may cause crashes when logging is enabled, especially on windows.
It's not safe to pass random pointers to g_type_check_instance_is_a().

Fixes #611719.
2010-03-04 18:40:50 +00:00
Tim-Philipp Müller
0b954928c8 tags: try to make comment for translators more helpful 2010-03-01 12:02:44 +00:00
Johan Bilien
1d7afbd0f2 introspection: add annotation for gst_element_get_state
state and pending are "out" arguments.

Fixes #605189.
2010-02-18 01:28:57 +00:00
Stefan Kost
b45abd2710 taglist: remove blank lines in variable declarations 2010-02-17 09:50:35 +02:00
Tim-Philipp Müller
b6e061b4ea build: make sure gst-plugin-scanner gets installed where we expect it
Add check to make sure gst-plugin-scanner really gets installed where
we will look for it later, ie. paths and prefixes are set at configure
time and not specified via make.

Fixes #609941.
2010-02-16 11:33:19 +00:00
Tim-Philipp Müller
d82700f0c9 tags: wrap long string constants
And fix indenting issue
2010-02-15 00:29:37 +00:00
Tim-Philipp Müller
88f80996b8 tags: add some comments for translators so tag mnemonics get translated correctly
We want 'preview image' translated as a noun, not as 'preview [the] image'.
2010-02-15 00:21:43 +00:00
Tim-Philipp Müller
c802301b69 pad: don't print WARN debug statements for normal things like EOS 2010-02-15 00:08:16 +00:00
Tim-Philipp Müller
092cde0ff3 gst_private: MSVC doesn't seem to like #warning
Visual Studio complains about "invalid preprocessor command 'warning'"
even if the ifdef doesn't trigger, so just remove this again.
2010-02-10 14:28:05 +00:00
Tim-Philipp Müller
05e9dd968c Revert "docs: fix ASCII art so that iterators are aligned property to the diagram"
This reverts commit ae60d06e9e (fixes: #609166)
2010-02-07 10:04:09 +01:00
Tim-Philipp Müller
ae60d06e9e docs: fix ASCII art so that iterators are aligned property to the diagram 2010-02-01 23:47:18 +00:00
Tim-Philipp Müller
4878e95ff4 docs: add some more Since: markers to buffer list docs 2010-01-31 17:30:54 +00:00
Tim-Philipp Müller
6c6f20e0b6 init: don't spew warning about late g_thread_init()s if GLib >= 2.23.2
Late g_thread_init() is fine with newer GLib versions and done automatically
from g_type_init() there, so don't warn if the application hasn't called
g_thread_init() yet when gst_init() is called with new GLib versions.

Fixes #608398.
2010-01-30 13:45:58 +00:00
Wim Taymans
69c531784e pipeline: Take start_time after chaining up too
Refactor the code to take the current start_time when going to PAUSED.
Make sure we also call the start_time update code after we chained up to the
parent bin.

Fixes #607842
2010-01-28 15:55:27 +01:00
Stefan Kost
bd182e3ea0 bin: make a interface vmethod implementation static
This should not cause any troubles - the methods wasn't in any header.
2010-01-24 23:04:27 +02:00
Stefan Kost
9f26847fb1 childproxy: remove ; after } 2010-01-24 22:23:05 +02:00
Wim Taymans
f10c36de20 gstindex: retab .h file 2010-01-21 16:19:44 +01:00
Tim-Philipp Müller
f3d579362c pluginloader: fix compiler warning on win32
Move variable that's only used on unix into the unix block so that
the compiler doesn't complain about the unused variable on win32
(see #597662).
2010-01-20 10:58:29 +00:00
Tim-Philipp Müller
8967604053 pluginloader: try scanner set via env var before using the installed one
If the GST_PLUGIN_SCANNER environment variable is set, we should try
the scanner specified there first, to make sure the right scanner binary
is used for uninstalled setups and builds from source when there's
already an installed version.
2010-01-20 09:48:27 +00:00
Sebastian Dröge
f137d188cb build: Define G_THREADS_MANDATORY everywhere
We require threads to be supported in any case and defining this
will simplify the mutex, condition variable, etc. macros from gthread
to not always check if threads are really supported.

Fixes bug #607481.
2010-01-20 09:51:16 +01:00
Andoni Morales Alastruey
9909d3312f pluginloader: disable external plugin loader on Windows until it is ported properly
See #597662.
2010-01-20 01:48:56 +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
Thijs Vermeir
053ada3308 gstpad: directly set the caps when pushing buffer with different caps.
This check is not necesarry as we are not negotiating anymore. And it can
be wrong if upstream can't produce this caps anymore, but downstream can
process them fine.
2010-01-19 14:13:25 +01:00
Sebastian Dröge
ed1247b561 miniobject: The GValue collection function can not assume that the destination is initialized
...and it will usually be either filled by zeroes or random values.

Fixes bug #607283.
2010-01-18 13:57:29 +01:00
Tim-Philipp Müller
51a462853a structure: remove superfluous guard against NULL
All callers of this static function already check for NULL-ness
themselves, so no need to do it again (and if we do it, we should
probably do so before dereferencing the pointer for the first time).
2010-01-16 19:44:35 +00:00
Tim-Philipp Müller
4cdf375b1a structure: micro-optimise some getters
Avoid checking the GType of the value twice (once on our side and
once in g_value_get_*()) by by-passing g_value_get() and accessing
the GValue structure directly.
2010-01-16 19:37:46 +00:00
Wim Taymans
17c98e3510 message: update docs a little 2010-01-15 18:36:43 +01:00
Sebastian Dröge
b3d30dd459 docs: Move field specific Since markers at the same line
Fixes gobject-introspection warnings about Since being defined multiple times.
2010-01-14 10:44:16 +01:00
Tim-Philipp Müller
4da2c6b380 registry: avoid some more unnecessary malloc/frees 2010-01-12 21:35:18 +00:00
Tim-Philipp Müller
5e47d24e1b registry: avoid some unnecessary strdup/free when reading the binary registry
Strings in the binary registry are NUL-terminated, so we can just use them
directly if we only need them temporarily, and avoid unnecessary mallocs
and frees.
2010-01-12 21:35:17 +00:00
Wim Taymans
2da06fb8d3 bus: whitespace fixes 2010-01-11 11:55:51 +01:00
Stefan Kost
3c09381cef utils: defer getting the classes until we actualy need them
This function has a lot of early returns. Give them soem more benefit.
2010-01-10 21:49:25 +02:00
Stefan Kost
5fa9d942e3 utils: avoid extra hop in gst_element_link
No need to call gst_element_link_pads_filtered with filter=NULL, which would
call gst_element_link_pads() in that way. Call it directly to save a call and
expensive gobject type checks.
2010-01-10 21:44:34 +02:00
Tim-Philipp Müller
1474e7a9fa docs: minor documentation fixes for recently-added tags
Mention the type of the tag in the gtk-doc blurb, so people know
which accessor API to use, and fix up the doc blurbs to match the
actual tag define.
2010-01-06 20:06:47 +00:00
Tim-Philipp Müller
27fd0b8d9c tags: fix up translated strings for some new tags
Fix up translated strings for some recently-added tags to match the
existing strings: we want short mnemonic-like strings here that start
with a lower case letter.
2010-01-06 20:04:15 +00:00
Tim-Philipp Müller
c6554049de registry: deprecate useless gst_registry_xml_{read|write}_cache()
The only reason these two functions are still around is that at some
point in the past they were in a public header, so we can't really
remove them now even though they should have been private all along
(and aren't really particularly useful). Since these are just empty
stubs now that do nothing but return FALSE and will be removed in
0.11 anyway, we may just as well deprecate them formally.
2010-01-06 19:19:40 +00:00
Tim-Philipp Müller
57abeb56a8 docs: add Since markers to task pool docs and document task function 2010-01-06 19:18:53 +00:00
Stefan Kost
1526e34687 docs: add missing returns: tag 2010-01-05 00:09:10 +02:00
Wim Taymans
1c5a6768cc buffer: remove unneeded casts 2009-12-27 19:33:25 +01:00
Wim Taymans
67bd9529d0 buffer: remove subbuffer subclass
Move the parent buffer pointer into the GstBuffer struct so that we can
remove the subbuffer class and type. This is interesting because it allows us to
more naturally implement methods to get the real type and parent
of a subbuffer (See #545501).
It should also be slightly faster because there is no extra object hierarchy to
initialize and free.
2009-12-26 00:02:17 +01:00
Wim Taymans
bb780fdf73 miniobject: avoid unneeded casts 2009-12-24 17:22:46 +01:00
Wim Taymans
fc7dd46b20 avoid some more type checks 2009-12-24 14:40:54 +01:00
Wim Taymans
c059cb43de pipeline: avoid some type checks
Avoid type checks when we can
Don't need to peek the parent_class, the boilerplate does that for us.
2009-12-24 14:22:52 +01:00
Wim Taymans
7522e2ccf8 trace: include type name in leaked objects
When we are dealing with a GObject, print the type name along with
the pointer for easier debugging.
2009-12-23 21:37:51 +01:00
Wim Taymans
381d35fd1e pad: Fix problem with destroy callback not being called
When we unblock a pad with the same user_data, the destroy callback is not
called. This leads to refcounting leaks that cannot be avoided. Instead always
call the destroy notify whenever we install a new pad block.
In particular, this fixes a nasty pad leak in decodebin2.

Also update the unit test to have more accurate comments and test the required
behaviour.
2009-12-23 21:20:14 +01:00
Thiago Santos
a3078cf0cd gsttaglist: Adds new tags
Adds the following new tags:
GST_TAG_SHOW_NAME
GST_TAG_SHOW_SORTNAME
GST_TAG_SHOW_EPISODE_NUMBER
GST_TAG_SHOW_SEASON_NUMBER
GST_TAG_LYRICS
GST_TAG_COMPOSER_SORTNAME
GST_TAG_GROUPING

Fixes #599759
2009-12-21 11:58:12 -03:00
Stefan Kost
0b7f75c205 docs: link bus and tasks
Add a link from bus section docs to the task docs. Add a paragraph to task docs
to tell about messages and the bus.
2009-12-14 16:22:16 +02:00
Stefan Kost
790e5d10c8 docs: add more docs around GstState and GstStateChange
Take reviewed docs from docs/design/part-state to have that more prominent
inside the api docs. Add a few sentences to link things better together.
2009-12-14 15:11:42 +02:00
Stefan Kost
e243a41165 gstelementfactory: set object name earlier if applicable
Setting an object name is nice for proper debug logging. Ideally this would
still happens earlier (.e.g when pads are added to an element, its not yet set).
2009-12-14 11:08:48 +02:00
Stefan Kost
076aeeb74b gstobject: add fixme-0.11 comment 2009-12-14 11:08:48 +02:00
Stefan Kost
cb294cb5ea comment: small comment correction 2009-12-14 11:08:47 +02:00
Wim Taymans
f44d8c31de bin: never skip a state change to PLAYING
Never skip the state change to playing, even if the element is already in the
right state. We need this because we also distribute the base_time while doing
the state change and skipping this step would leave some elements without a new
base_time.

Fixes #600313
2009-12-11 16:26:00 +01:00
Wim Taymans
8bc67e5434 element: use NULL instead of 0 for pointers 2009-12-09 13:27:22 +01:00
Sebastian Dröge
1c66f306d6 utils: Fix proxy_setcaps to only iterate pads of other direction 2009-12-08 16:40:57 +01:00
Wim Taymans
c6f2a94777 utils: fix proxy_getcaps
Make it return the padtemplate caps on errors and no parent.
Only intersect pads of the oposite direction of the source pad.
2009-12-08 16:30:51 +01:00
Sebastian Dröge
6bff920ba0 utils: Rename proxy iterator fold functions to have a more meaningful name 2009-12-08 16:24:20 +01:00
Sebastian Dröge
d6492c2958 utils: If one intersection gave empty caps don't continue iterating over the other pads 2009-12-08 16:09:02 +01:00
Wim Taymans
c2b0e9de25 Use plain casting instead of typechecking 2009-12-07 20:52:22 +01:00
Edward Hervey
a5626f239a gstvalue: Use fast gst_value_list_{size|get_value} macro accessors
gst_value_list_size and gst_value_list_get_value will do a series of
extra checks due to being public methods.
When we use them from within gstvalue.c we can directly use them without
the extra checks.
2009-12-07 09:51:04 +01:00
Edward Hervey
1d91fd9fb9 gsturi: Don't use g_signal_emit_by_name, use the signal ID directly 2009-12-07 09:51:03 +01:00
Edward Hervey
4140350594 gstobject: Avoid double strdup when setting NULL names.
Instead of chaining up to gst_object_set_name (which does typechecking
and strdup's the name again), just use the already allocated new
name.
2009-12-07 09:49:06 +01:00
Sebastian Dröge
df741e7e2f bin: Ignore state change failures from children that were removed from the bin already
Fixes bug #584441.
2009-12-04 16:28:27 +01:00
Sebastian Dröge
08ae8a1afb registry: Use GMappedFile for reading the registry
Fixes bug #603787.
2009-12-04 15:19:11 +01:00
Javier Jardón
ca974b1a8f registry: Substitute deprecated GLib symbol: g_mapped_file_free
Use g_mapped_file_unref if Glib >= 2.22 is available

Fixes bug #560442.
2009-12-04 14:50:46 +01:00
Wim Taymans
d5e42a92c8 event: fix docs for _copy() 2009-12-02 13:29:28 +01:00
David Schleef
b0889cf2a1 Make gcc inline assembly conditional on gcc 2009-12-01 18:09:35 -08:00
Edward Hervey
24b357a444 gstghostpad: Register debug funcptr only once.
This makes ghostpad/proxypad creation 5 times faster and avoids contention
over the global funcptr lock.

I also moved the two class init down in the code to avoid having to forward
declare all the various functions.
2009-12-01 17:56:19 +01:00
Edward Hervey
4da0da822a gstpad: Only register debug funcptr once.
This makes pad initialization 2 times faster and without any contention
over the debug funcptr global lock.
2009-12-01 17:56:19 +01:00
Edward Hervey
8f40effea6 gstinfo: API: Add GST_DEBUG_REGISTER_FUNCPTR method.
This is a variant of GST_DEBUG_FUNCPTR which does not return anything.
2009-12-01 17:56:19 +01:00
Thiago Santos
0491df555d gstevent: fix docs
Fix flush stops docs, those are serialized, not out of bounds.
Probably a copy and paste mistake.
2009-11-27 13:44:11 -03:00
Stefan Kost
8d63e8e0c3 docs: make links work (needs recent gtk-doc) 2009-11-27 14:18:39 +02:00
Stefan Kost
85d85f9d36 docs: add missing parameter docs 2009-11-27 14:18:39 +02:00
Stefan Kost
309187c2ce docs: enable docs for GstObjectClass to fix links 2009-11-27 14:18:38 +02:00
Stefan Kost
f1d39627f6 gstobject: add FIXME-0.11 comments 2009-11-27 14:18:38 +02:00
Stefan Kost
9d640c7c61 docs: better way to link class methods 2009-11-27 14:18:38 +02:00
Stefan Kost
868878db87 docs: use '*' instead of xxx to avoid creating a broekn xref 2009-11-27 14:18:38 +02:00
Stefan Kost
f43f2bf960 docs: fix more bogus xrefs 2009-11-27 14:18:38 +02:00
Stefan Kost
1b5391fb47 docs: add docs for GstPluginFlags
This also makes links to them work.
2009-11-27 14:18:38 +02:00
Stefan Kost
23da3639f0 docs: fix xrefs in docs
Fix typos in xrefs, links to non existing functions and rework plural forms.
2009-11-25 16:59:50 +02:00
Stefan Kost
c95b233ce5 docs: remove gtkdoc header as these things don't come up on our docs even 2009-11-25 14:41:26 +02:00
Stefan Kost
f4f4906cc5 docs: add missing parameter doc string 2009-11-25 14:23:53 +02:00
Stefan Kost
22abe6fbcf docs: document new event in enum 2009-11-25 14:21:50 +02:00
Stefan Kost
7ff832d36e docs: fix gtk-doc syntax for doc-blob start 2009-11-25 14:18:14 +02:00
Wim Taymans
0b5e8f0e57 query: whitespace fixes 2009-11-23 11:34:07 +01:00
David Schleef
7537505ed0 gstplugin: Add C++ escape for gst_plugin_desc define
In order to properly export the gst_plugin_desc symbol
from DLLs in MSVC, it needs to be extern "C".
2009-11-19 18:04:56 +01:00
Tim-Philipp Müller
c8c893c30e parse/grammar.y: remove unused ERROR define 2009-11-19 13:05:13 +00:00
Sebastian Dröge
fee1ad3a0a event: API: Add sink-message event
gst_event_new_sink_message()
gst_event_parse_sink_message()

This event is used for sending a GstMessage downstream and synchronized
with the stream, to be posted by the sink once it reaches the sink.

Fixes bug #602275.
2009-11-18 13:12:27 +01:00
Tim-Philipp Müller
3c7c9692ac plugin-scanner: rename plugin-scanner helper binary to gst-plugin-scanner
and install into a different directory $(libexecdir/gstreamer-0.10) so that
everything is versioned properly.

NOTE: run 'make clean' after updating; if you are running an uninstalled setup,
you will need to update your gst-uninstalled script (unless it's symlinked
to gstreamer core master) and exit/enter your uninstalled environment to get
the updated environment. If you are running an installed setup, you should
run 'make uninstall' before merging this change or remove the old
plugin-scanner binary manually.

Fixes #601698.
2009-11-18 09:28:08 +00:00
Tim-Philipp Müller
ab5f2f4f5d Revert "structure: don't check type twice"
This reverts commit f864187bf5.

Reverting this as it changes behaviour and the documentation is
ambiguous about whether the caller must check the type first or
not (call must check type vs. returns NULL if not a string). If
GLib has been compiled with G_DISABLE_CHECKS then g_value_get_string()
may return complete garbage even if the value does not contain
a string. Better play it safe, esp. since the extra check is just
an integer comparison. For fundamental types we could return values
from the GValue structure directly if we really wanted to bypass
the extra check.
2009-11-18 09:22:57 +00:00
Stefan Kost
f864187bf5 structure: don't check type twice 2009-11-18 10:12:13 +02:00
Sebastian Dröge
8d5c77535e event: Add step event quark 2009-11-18 08:00:45 +01:00
Stefan Kost
da9b082808 structure: remove some blank lines (previous gst-indent failure) 2009-11-17 09:40:12 +02:00
Stefan Kost
94f6eced23 structure: use local variable earlier 2009-11-17 09:40:12 +02:00
Stefan Kost
7bd9299f3e structure: don't check enum types twice.
G_VALUE_HOLDS_ENUM(value) is defined as G_TYPE_CHECK_VALUE_TYPE (value,
 G_TYPE_ENUM). Just check for the right enum-type right away.
2009-11-17 09:40:12 +02:00
Sebastian Dröge
0ed24bc50e utils: API: Add multiplication and addition functions for fractions
gst_util_fraction_add()
gst_util_fraction_multiply()

These work on plain integers instead of GValues to
keep the overhead as low as possible.
2009-11-16 09:56:32 +01:00
Sebastian Dröge
e4257e8d5f gstutils: API: Add fraction helper functions
gst_util_greatest_common_divisor()
gst_util_double_to_fraction()
gst_util_fraction_to_double()

Using these instead of going over GValue has much lower overhead.

Also add float<->fraction transform functions for GValue.
2009-11-16 09:56:32 +01:00
Stefan Kost
c84d17bcaf debug: add more debug logging to help tracking parsing errors 2009-11-13 15:46:40 +02:00
Ole André Vadla Ravnås
73f2d464b7 miniobject: avoid race when recycling buffers
Avoid a race where a miniobject is recycled and quickly freed, which causes the
g_type_free_instance() to be called on the same object twice.

Ref the object before calling the finalize method and check if we still need to
free it afterward.

Also add a unit test for this case.

Fixes #601587
2009-11-13 11:45:48 +01:00
Stefan Kost
4d17d331bf whitespace: remove blanks in doc-comment 2009-11-12 17:02:40 +02:00
Руслан Ижбулатов
b1d57a8b05 registry: Import _priv_gst_dll_handle into gstregistry.c
Fixes bug #601668.
2009-11-12 13:00:07 +01:00