Commit graph

10753 commits

Author SHA1 Message Date
Wim Taymans
90d65cb446 basetransform: avoid useless memcpy
Because of the awkward refcounting in prepare_output_buffer, we might end up
with writable buffers that point to the same data. Check for those cases so that
we avoid a useless memcpy and keep valgrind quiet.

Fixes #628176
2010-09-23 18:23:39 +02:00
Tim-Philipp Müller
7203806ffb tests: fix 'make check' build for setups where no c++ compiler is available
Only try to build (pseudo-)C++ unit test if a working C++ compiler has been
found, otherwise the build will fail. (We do this to make sure our headers
are 'C++ clean').
2010-09-23 14:41:27 +01:00
Thiago Santos
7e1d9c8c0d tag: Adds GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR
Adds a new tag to indicate the error in horizontal positioning
in meters. This is one of the available 'gps error' fields in
exif, for example.

API: GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR
2010-09-23 10:37:06 -03:00
Stefan Kost
5550136fb2 Revert "pad: use a nested lock to avoid reffing the peer"
This reverts commit 9b424b1570.
2010-09-23 15:34:54 +03:00
Stefan Kost
41e00e58e7 queue2: remove var only used for debug statement 2010-09-23 15:12:32 +03:00
Stefan Kost
9b424b1570 pad: use a nested lock to avoid reffing the peer
Fixes #503592
2010-09-22 10:22:40 +03:00
Stefan Kost
2713e903fb tests: rebuild one test using cpp
This aims to catch cpp issues in core. Add c++ boilerplate to configure.
2010-09-22 10:22:40 +03:00
Edward Hervey
aee8368abc Automatic update of common submodule
From aa0d1d0 to 5e3c9bf
2010-09-21 18:33:26 +02:00
Edward Hervey
b6aa0583b6 tests: Handle new assertion in gst_adapter_masked_scan_uint32 2010-09-19 16:10:16 +02:00
David Schleef
9dbe690f72 adapter: Add check for pattern bits not in mask 2010-09-18 19:29:09 -07:00
Sebastian Dröge
748433776a gst-launch: Use g_file_test() instead of access() which does not exist on MSVC6
Fixes bug #629494.
2010-09-17 19:54:26 +02:00
Wim Taymans
0447e72c97 bufferlist: add function to add a list of buffers
Add a function to add a list of buffers to the bufferlist.
2010-09-17 17:35:45 +02:00
Wim Taymans
1afaa1680f adapter: add function to get a list of buffers
Add a function to retrieve a list of buffers containing the first N bytes from
the adapter. This can be done without a memcpy and should make it possible to
transfer the list to a GstBufferList later.
2010-09-17 17:35:41 +02:00
Wim Taymans
a144882871 adapter: reuse more data in _peek()
Optimize _peek() some more by reusing already assembled data when we can.
2010-09-17 15:07:50 +02:00
Wim Taymans
961e2029db adapter: optimize _take() a little more
When we have already assembled some data before, reuse this data and only copy
the part that is new.
2010-09-17 13:57:39 +02:00
Wim Taymans
fc4caf55c9 adapter: refactor adapter take
Move some common code into one place
2010-09-17 12:48:55 +02:00
Wim Taymans
1dde3cb440 adapter: add support for 0 sized buffers
Add support for 0 sized buffers. This is interesting in combination with the
timestamp functions.

Fixes #629553
2010-09-17 12:40:12 +02:00
Edward Hervey
47743aa7ac pwg: Make a sentence clearer. 2010-09-17 10:01:01 +02:00
Tim-Philipp Müller
80ddde400a elementfactory: make sure gstreamer has been initialized when creating elements
Add gst_is_initialized() guard to gst_element_factory_make(), so
people who forgot to call gst_init() get a useful warning for what
seems to be a common enough mistake.
2010-09-16 19:40:15 +01:00
Tim-Philipp Müller
34abe02458 query: minor gst_query_add_buffering_range() code reflow
Sprinkle some G_UNLIKELY(), return TRUE/FALSE constants, avoid an
unnecessary g_value_unset(), move g_value_init()+set_int64_range()
closer to where they're needed.
2010-09-16 19:40:15 +01:00
Tim-Philipp Müller
58e5d5e5b9 query: gst_query_add_buffering_range() optimisations
Don't create a new GValueArray copy for every single _add_buffering_range()
call, but append to the existing value array owned by the structure instead.
2010-09-16 19:40:15 +01:00
Tim-Philipp Müller
608628d10d structure: micro-optimisation for some setter functions
Split out functions that do the actual work, so we avoid doing
the same g_return_if_fail() checks multiple times for each call.
2010-09-16 19:40:15 +01:00
Tim-Philipp Müller
7e5a9580ef structure: add gst_structure_{id_}take_value()
Add _set_value() variants that take ownership of the value passed
instead of making a copy of the value. This is useful for setting
values to things that aren't refcounted (e.g. GValueArrays or
strings or string arrays, etc.).

API: gst_structure_take_value()
API: gst_structure_id_take_value()

https://bugzilla.gnome.org/show_bug.cgi?id=629831
2010-09-16 19:39:58 +01:00
Wim Taymans
e6a291bfab bin: fix doc string, we post element messages 2010-09-16 19:19:21 +02:00
Wim Taymans
a9a82da134 bin: add message-forward option
Add an option to forward all the internal messages that would otherwise be
filtered such as EOS, SEGMENT and ASYNC messages.
This allows the application to, for example, detect that a partial pipeline is
prerolled or reached eos.
The original messages are wrapped inside an element message because the parent
bins are not supposed to see those internal messages escape.
2010-09-16 19:17:53 +02:00
Tim-Philipp Müller
30fe3b2be9 plugin: use strstr() instead of g_strstr_len()
Saves us a strlen() call.
2010-09-16 10:48:10 +01:00
Wim Taymans
2d1450d777 queue2: only post buffering message when percent changed 2010-09-15 13:29:52 +02:00
Wim Taymans
e3176a31e9 queue2: always update buffering status
Update the buffering status even when we are not using a queue so that EOS can
properly finish the buffering.
2010-09-15 13:15:19 +02:00
Thiago Santos
60fba4df8b gstpad: Fix flush-stop event handling
A flush-stop event would make a pad unflushing, causing it
to start acting as an activated pad. This, for example,
could lead to the chain function being called when stuff
isn't initialized.

This could happend when setting qtdemux to NULL while a seek
was being handled in the upstream filesrc (in push mode).

This patch makes it check if it is activated before setting
it to unflushing.
2010-09-13 20:52:03 -03:00
Stefan Kost
8ef7e46d24 docs: fix warnings pointed out by gtk-doc 2010-09-13 11:18:25 +03:00
Stefan Kost
ef5a78e71f taskpool: make debug only code conditional 2010-09-13 11:18:24 +03:00
Colin Walters
cfadd1d937 introspection: Build with latest g-i
Hide a compatibility typedef.

https://bugzilla.gnome.org/show_bug.cgi?id=629241
https://bugzilla.gnome.org/show_bug.cgi?id=550616
2010-09-12 15:13:32 +01:00
Stefan Kost
efef6e2248 pluginloader: don't leak entries for blacklisted files 2010-09-09 22:24:38 +03:00
Stefan Kost
d2aa01c2de checks: and check the right env-var (fixup last commit) 2010-09-09 21:59:29 +03:00
Stefan Kost
6a3e15373c tests: allow running state tests for all elements
Now one can use GST_NO_STATE_IGNORE_ELEMENTS=1 make generic/states.check
to try elements that would normaly be skipped.
2010-09-09 21:56:28 +03:00
Edward Hervey
06738c15b7 gstobject: avoid string creation when not needed 2010-09-09 18:40:08 +02:00
Sebastian Dröge
62d40fa0db identity: identity is GAP flag aware, no need to let it be unset by basetransform 2010-09-09 16:12:26 +02:00
Stefan Kost
3eb97aa32c gst-launch: add a sync bus handler and move state-change logging there
The sync handler is called for all mesages, the event loop we previously used
was not. In the sync handler trigger pipeline dot dumps and call access for a
file in tmp-dir to add markers interceptable by strace and co.
2010-09-09 15:59:55 +03:00
Tim-Philipp Müller
bf2bdba6b3 caps: simplify code a bit
No need to call g_slist_length() here.
2010-09-08 18:51:09 +01:00
Stefan Kost
770694f0f1 pad: add a unchecked variant for pull
Add internal _get_range_unchecked thats is called from _get_range and
_pull_range.
2010-09-08 10:25:55 +03:00
Tim-Philipp Müller
63667aa9b4 gst-uninstalled: add ugly/bad/ffmpeg pkg-config dirs to PKG_CONFIG_PATH
So we can figure out plugin directories of other modules properly in
the uninstalled setup case, for unit tests that need elements from
other modules.
2010-09-07 23:53:59 +01:00
Tim-Philipp Müller
eb2c0df642 docs: update plugin docs for recent changes
And sorted hierarchy
2010-09-07 12:01:18 +01:00
Tim-Philipp Müller
27feb0ed00 Automatic update of common submodule
From c2e10bf to aa0d1d0
2010-09-07 11:41:37 +01:00
Tim-Philipp Müller
1b4504c50d gst-inspect: don't use gst_structure_foreach() on NULL pointers 2010-09-07 11:10:06 +01:00
Tim-Philipp Müller
8a72f53312 po: update translations for new strings 2010-09-06 20:26:28 +01:00
Tim-Philipp Müller
3ce55e6551 gsterror: add default error message for GST_LIBRARY_ERROR_ENCODE
No idea though why we even have GST_LIBRARY_ERROR_ENCODE or when one
would want to use that instead of GST_STREAM_ERROR_ENCODE.
2010-09-06 20:26:28 +01:00
Tim-Philipp Müller
490d2f0ab5 gsterror: avoid pointless string copying
There's no need to create these tables with duplicates of the
untranslated error message string constants, we can just use
old-fashioned switch/case and call gettext directly. This also
makes things slightly more thread safe and more robust to bad
input (invalid error codes).
2010-09-06 20:26:14 +01:00
Edward Hervey
b792329dde check: Avoid error: array subscript is above array bounds
Could have come up with something better for my 2000th commit
to GStreamer...
2010-09-06 18:37:29 +02:00
Stefan Kost
dd5e14f983 docs: give a practical example for the gst_object_has_anchestor 2010-09-06 17:02:45 +03:00
Stefan Kost
cc0171d5cd elementfactory: use the parent_class defined by G_DEFINE_TYPE 2010-09-06 14:35:26 +03:00