Commit graph

5445 commits

Author SHA1 Message Date
Thiago Santos
2f0dab0f44 gstelement: Fix typo in the docs
GST_ELEMENT_INFO will post a INFO message, not a WARNING
2011-03-22 16:27:35 -03:00
Thiago Santos
4b322b215a tagsetter: Removing unused debug category
tagsetter's debug category had a typo and was unused. Removing it.
2011-03-22 16:27:35 -03:00
Jason D. Clinton
a789096c04 build: fix build with -Werror with GCC 4.6.0
This touches three areas of code, removes unused variables and discards
return values from two functions with (void).

https://bugzilla.gnome.org/show_bug.cgi?id=645267
2011-03-21 09:29:19 +01:00
Sebastian Dröge
27c0a2b9b1 event: Add since marker to GST_EVENT_SINK_MESSAGE 2011-03-19 10:39:28 +01:00
Tim-Philipp Müller
02d27de048 task: fix GST_TASK_BROADCAST
Surprisingly enough, you can't "breadcast" on a GCond.

Spotted by Rune Sætre.

https://bugzilla.gnome.org/show_bug.cgi?id=645022
2011-03-17 23:42:48 +00:00
Sebastian Dröge
b8d83f4e01 pad: Document that pad blocks only make sense for sink pads in pull mode and src pads in push mode
See bug #644907.
2011-03-16 12:01:21 +01:00
Sebastian Dröge
256e7238b4 ghostpad: The internally linked pad of the proxypad is the ghostpad
Previously we were returning the peerpad, which is the target
of the ghostpad.
2011-03-16 11:53:53 +01:00
Jonas Holmberg
c4c06a2b88 bufferlist: Use a GQueue instead of a GList
Adding a buffer to the end of a GstBufferList is supposed to be a fast
operation, but it was not since the iterator does not advance its
nextpointer when adding buffers and GList does not have a tail pointer.
Using a GQueue to store the buffers makes it easier to add buffers to
the end of the list and this operation will now be much more efficient.

Adding an entire GList of buffers using
gst_buffer_list_iterator_add_list() will however have to iterate over
the list being added to be able to update the tail pointer in the
GQueue.
2011-03-11 14:31:14 +01:00
Tim-Philipp Müller
90b4dc4869 utils: fix ABI break when compiling gstreamer with -DGST_DISABLE_DEPRECATED
GST_DISABLE_DEPRECATED should only affect visibility of declarations in headers,
not actually remove symbols. See GitDeveloperGuidelines and DeprecatingAPI
pages in wiki.

https://bugzilla.gnome.org/show_bug.cgi?id=402141
2011-03-10 17:50:51 +00:00
Thijs Vermeir
dbc21e0174 gstutils: replace gst_element_factory_can_{sink,src}_caps
Add new functions to clarify how the caps are compared to the template caps of
the element factory. Improve the docs to point out the difference.

Deprecate: gst_element_factory_can_{src|sink}_caps
API: add gst_element_factory_can_{src|sink}_{any|all}_capps

https://bugzilla.gnome.org/show_bug.cgi?id=402141
2011-03-09 15:28:05 +02:00
Stefan Kost
8aa3f380a5 padtemplate: add missing ; in example (and trim whitespace) 2011-03-08 12:12:20 +02:00
Stefan Kost
d963503b26 structure: gst_structure_empty_new() does better error checking
No need to check for media_type!=NULL as the function we call that actual create
the structure does a full check anyway.
2011-03-08 10:07:17 +02:00
Stefan Kost
4d9e645551 caps,structure: trim trailing whitespace 2011-03-08 10:07:03 +02:00
Jonathan Matthew
2bbfa3304c caps: don't create broken caps for invalid media types
Check if structure has been created before appending it to the caps. Free the
caps in the case of an error to not conceal it be returning empty caps.

Fixes #642271
2011-03-08 10:06:12 +02:00
Tim-Philipp Müller
c71241d9dd docs: typo fixes
convinience -> convenience
2011-02-28 15:01:54 +00:00
Stefan Kost
c7881a21b5 docs: small updates as suggested on a blog
Link from convinience api to the underlying api.
2011-02-28 16:33:22 +02:00
Tim-Philipp Müller
d3e7981527 uri: make win32 buildbot happy
gsturi.c:854:16: error: unused variable 'abs_clean'
gsturi.c:788:1: error: 'gst_file_utils_canonicalise_path' defined but not used
2011-02-24 17:12:00 +00:00
Tim-Philipp Müller
27027a2dd2 uri: add gst_filename_to_uri() that takes relative filenames
Add function that (unlike the GLib equivalent) also accepts paths that
aren't absolute and will clean up relative markers such as ./ and ../
before forming a URI.

Fixes warnings with e.g. filesrc location=foo ! typefind caused by the
recent switch to g_filename_to_uri(), but also actually creates valid
URIs for the first time.

Windows code paths could need some more work, e.g. we don't clean up
the relative markers there for now (because path could have \ and /
as separators).

API: gst_filename_to_uri()
2011-02-24 15:36:52 +00:00
Philip Jägenstedt
9cb1dec018 docs: fix typo in gst_index_new() docs
https://bugzilla.gnome.org/show_bug.cgi?id=642869
2011-02-21 13:05:11 +00:00
Robert Swain
2edb4fef54 miniobject, buffer: steal miniobject flag for use as MEDIA4 buffer flag
This was required to add a new MEDIA4 buffer flag for indicating
progressive/mixed telecine video buffers. There is no space for
additional flags in GstBuffer, so steal one from GstMiniObject.

https://bugzilla.gnome.org/show_bug.cgi?id=642671
2011-02-21 12:37:26 +00:00
Tim-Philipp Müller
9b076246af docs: add some more Since: markers to atomic queue docs 2011-02-21 11:28:11 +00:00
Edward Hervey
b39ccb5ac3 Revert "element: Call ->release_pad() to clean up pad"
This commit changes the request pad behaviour for plugins and applications.

Reopens Bug #402562

The proper fix for that bug is to keep track of created request pads.

This reverts commit a5e44ffffa.
2011-02-21 11:55:50 +01:00
Stefan Kost
2a60eea4c4 index: add FIXME-0.11: comments 2011-02-21 10:04:15 +02:00
Stefan Kost
1a53df3eef docs: improve index docs 2011-02-18 17:17:29 +02:00
David Schleef
a5e44ffffa element: Call ->release_pad() to clean up pad
Fixes #636011 and #402562.
2011-02-17 19:14:19 -08:00
Stefan Kost
af15626258 index: fix creation of writer id for unparented pads
Also do some cleanup in the impl.
2011-02-17 14:54:05 +02:00
Tim-Philipp Müller
3a744ca442 value: add (de)serialisation function for uchar
.. since we sadly have a plugin in -good that has a uchar property
(cmmlenc)

https://bugzilla.gnome.org/show_bug.cgi?id=642522
2011-02-17 10:55:28 +00:00
Wim Taymans
cc5edeefcd atomicqueue: fix include order
atomicqueue: fix include order# Please enter the commit message for your changes. Lines starting
2011-02-16 19:54:57 +01:00
Wim Taymans
14d7db1b52 bus: make the bus almost lockfree
Use new GstPoll functionality to wakeup the mainloop.
Use an atomic queue on the writer side to post the messages.
The reader side it protected with the lock still because we don't want multiple
concurrent readers.
2011-02-16 17:56:39 +01:00
Wim Taymans
5f81eac5e1 atomicqueue: use correct array sizes 2011-02-16 17:56:39 +01:00
Wim Taymans
6b2c2a043d atomicqueue: fix docs some more 2011-02-16 17:56:39 +01:00
Wim Taymans
905fea098f atomicqueue: add refcounting and docs 2011-02-16 17:56:39 +01:00
Wim Taymans
ebb37b48d8 atomicqueue: make sure a min initial_size is used 2011-02-16 17:56:38 +01:00
Wim Taymans
4c9287687b atomicqueue: add an atomic queue
Add an atomic queue. The queue can be used from multiple threads simultaneously
and without taking any locks or doing any blocking operations. This makes it
highly scalable for things like the bus, bufferpools and object recycling.
2011-02-16 17:56:38 +01:00
Wim Taymans
1037fd9919 deinit: add progress type class unref 2011-02-16 17:56:38 +01:00
Stefan Kost
5e35837402 utils: tell also what pad a pad is already linked against 2011-02-16 15:15:26 +02:00
Wim Taymans
ea21e404a7 message: add timeout to progress message
Add a timeout member to the progress messages to let the application know about
the timeout so that it can do some gui things with it.
2011-02-15 18:55:23 +01:00
Wim Taymans
ec1bbd36bf message: rename category to code 2011-02-15 18:55:22 +01:00
Wim Taymans
37fbb5e20f message: add new message quark 2011-02-15 18:55:22 +01:00
Wim Taymans
4a1ad4407d gst: register new type 2011-02-15 18:55:22 +01:00
Wim Taymans
f5b175972c message: add progress message functions 2011-02-15 18:55:22 +01:00
Chen Rui
b164a8232a utils: return real error in compatible link check
We need to ensure we call gst_pad_check_link() with the two pads in the correct
order. The order depends on wheter we iterate src or sink pads.

Signed-off-by: Chen Rui <rui.chen@tieto.com>
2011-02-14 22:45:50 +02:00
Wim Taymans
12d2d01663 pad: Check sinkpad for flushing
Check the sinkpad for the flushing state before calling the chainfunction on the
pad. We do this by checking the cache (which is also cleared on the srcpad when
the sink is set to flushing).

Fixes #641928
2011-02-14 17:31:25 +01:00
Stefan Kost
61d84b9469 parse-launch: trim whitespaces 2011-02-14 15:39:21 +02:00
Stefan Kost
8f9f95cd78 parse-launch: fix typo in pad-list length comparision
It was comparing the length with itself.

Fixes #642071.
2011-02-14 15:37:23 +02:00
Wim Taymans
56826a5ee6 event: add QoS event type
Add a parameter to the QoS event to specify the QoS event type.
Update docs and add unit test.

See #638891
2011-02-10 15:21:45 +01:00
Wim Taymans
aa32e1fab1 clock: fix parameter docs 2011-02-10 15:21:45 +01:00
Tim-Philipp Müller
2d37f06ce8 events: fix g-i annotation for gst_event_new_tag() which takes ownership of the tag list 2011-02-10 10:20:10 +00:00
Tim-Philipp Müller
1a6f61a1c9 docs: mention that it's necessary to set the state of elements added to an already-running pipeline
https://bugzilla.gnome.org/show_bug.cgi?id=641631
2011-02-10 00:04:09 +00:00
Stefan Kost
306c09e1b2 docs: clarify the NOMINAL_BITRATE docs
Tell that its a target bitrate and actual values might be different.
2011-02-09 15:23:13 +02:00
Mark Nauwelaerts
50d566d9ad poll: trigger rebuild setup in _new
Failing to do so in the Windows case (implicitly triggered otherwise)
would have a subsequent _wait return immediately leading to high CPU
usage timeout loops.

Fixes #640675.
2011-02-03 15:52:18 +01:00
Tim-Philipp Müller
609a75eae2 info: make adding/removing of gst_debug_log_default() work properly
Make adding/removing gst_debug_log_default() work reliably in all
circumstances. The problem was that depending on platform and linker
flags the function argument might resolve to different addresses,
which made it impossible to remove the default log function added
in gst_init() from application code (because the pointer values
didn't match). The new approach should keep things simple by passing
NULL for the default function, which the code in libgstreamer can
then handle.

https://bugzilla.gnome.org/show_bug.cgi?id=625396
https://bugzilla.gnome.org/show_bug.cgi?id=640771
2011-02-03 10:53:27 +00:00
Tim-Philipp Müller
74ff936752 Revert "info: use the publicly visible address to fix the tests"
This reverts commit eb56687a6d.

While this commit may have fixed a problem on one of the build bots,
it didn't actually fix the original bug reported for win32.

Also, it causes other problems, such as the lookup failing when
called from C++ code (gst-phonon, amarok).

This needs to be fixed differently.

https://bugzilla.gnome.org/show_bug.cgi?id=640771
https://bugzilla.gnome.org/show_bug.cgi?id=625396
2011-02-03 10:28:01 +00:00
Sreerenj Balachandran
de55965ebe taglist: add a new "encoded-by" tag
Usecase: ID3v2 TENC ("Encoded by") frame.

API: GST_TAG_ENCODED_BY

https://bugzilla.gnome.org/show_bug.cgi?id=627268
2011-02-01 14:09:48 +00:00
Tim-Philipp Müller
b93b05653e bus: honour any per-thread default main context set via g_main_thread_push_thread_default()
Makes gst_bus_add_watch(), gst_bus_add_watch_full(), gst_bus_add_signal_watch(),
and gst_bus_add_signal_watch_full() convenience functions automatically pick up
any non-default main contexts set for the current thread via
g_main_thread_push_thread_default().
2011-01-31 15:58:18 +00:00
Bastien Nocera
e6de18ea99 GstElement: Fix warning with GCC 4.6
gstelement.c: In function ‘gst_element_get_request_pad’:
gstelement.c:1052:18: error: variable ‘tmp’ set but not used [-Werror=unused-but-set-variable]

https://bugzilla.gnome.org/show_bug.cgi?id=640850
2011-01-28 19:59:56 +00:00
Stefan Kost
43c9eb2791 trace: ensure messages are \0 terminated 2011-01-25 16:17:15 +02:00
Stefan Kost
f0b3839677 registry: remove dead code
The GError is only used for the mmap operations. If we have an error we handle
and clean it there already.
2011-01-25 16:17:14 +02:00
Sebastian Dröge
8163e51bad clock: API: Add function to re-init periodic GstClockIDs 2011-01-24 19:15:29 +01:00
Vincent Penquerc'h
6b84f4573c gstpluginloader: do not leak the description string
The description string was changed to an inlined string a while back.
(But: no need to intern the const strings here, we just use the interning
to avoid allocating duplicates and make memory management easier,
since the strings will be around for the life-time of the app anyway).

https://bugzilla.gnome.org/show_bug.cgi?id=640071
2011-01-24 16:44:04 +00:00
Wim Taymans
52978bd4e6 buffer: clarify docs 2011-01-24 16:35:25 +01:00
Mart Raudsepp
3a0a6b477a docs: add missing "Since: 0.10.32" markers for GstClock
Since tags were missing for gst_clock_single_shot_id_reinit()
and GST_CLOCK_DONE.
2011-01-24 14:38:48 +00:00
Mart Raudsepp
e7569342b1 docs: add missing "Since: 0.10.31" marker for gst_structure_get_date_time() 2011-01-24 14:38:15 +00:00
Miguel Angel Cabrera Moya
d709f569ba parse-launch: don't read past end of string if last character is an escape char
When the last character of a property value is a backslash
the unescaping code reads one byte pass the end of the string.

https://bugzilla.gnome.org/show_bug.cgi?id=639674
2011-01-24 14:24:32 +00:00
Raimo Järvi
0645c498f0 gstpoll: fix compiler warning with MingW
gstpoll.c: In function 'gst_poll_get_read_gpollfd':
gstpoll.c:692:10: warning: assignment makes integer from pointer without a cast

https://bugzilla.gnome.org/show_bug.cgi?id=638900
2011-01-11 12:47:49 +00:00
Edward Hervey
8edee55a3a registry: Don't replace valid existing plugins by blacklisted ones
Only replace existing plugins by blacklisted ones if they correspond
to the exact same plugin. If they're not the same, keep the existing
valid one.

Fixes #638941
2011-01-10 11:38:19 +01:00
Tim-Philipp Müller
6e2db6374e registry: ignore old libgstvalve.so and libgstselector.so plugins to minimize upgrade pain
Ignore plugins which have been moved into coreelements, so it's
still possible to just upgrade GStreamer core without having to
upgrade the whole stack.
2011-01-06 19:40:27 +00:00
Tim-Philipp Müller
cbdff26c10 Revert "padtemplate: allow disablinbg the template name conformance checks"
This reverts commit f9039c2204.

We use -DG_DISABLE_ASSERTS for releases and pre-releases, but
don't want to disable pad name checking for releases in general,
I think. Need a better solution here. Fixes pad unit test in
pre-release/release mode.
2011-01-06 19:21:56 +00:00
Tim-Philipp Müller
8a9931f0a9 info: avoid unnecessary malloc/free for each log function call on MSVC
Avoid unnecessary malloc/free to get the file basename on MSVC to avoid
unnecessary overhead when doing GST_DEBUG=foo:5 or so (since it would be
done before the category log level filtering).
2011-01-06 17:35:13 +00:00
David Schleef
a0534cc81c object: Fix creation of default name
Change the fixed allocation (!) to g_strdup_printf().
2011-01-05 13:42:18 -08:00
Edward Hervey
04ebbc9f5a GstElement: Add a more flexible way to get request pads.
The new request_new_pad_full vmethod provides an additional caps field,
which allows elements to take better decision process.

Also, add a gst_element_request_pad() function to allow developers to be
able to specify which pad template they want a pad of.

Convert gstutils to use that new method instead of the old one when more
efficient.

This is useful for being able to request pads in a more flexible way,
especially when the element can provide pads whose caps depend on
runtime configuration and therefore can't provide pre-registered
pad templates.

API: GstElement::request_new_pad_full
API: gst_element_request_pad

https://bugzilla.gnome.org/show_bug.cgi?id=637300
2011-01-05 19:46:47 +01:00
Tim-Philipp Müller
daa9c92038 gst: remove safety check for GLib < 2.8
Don't worry about accidentally using GLib < 2.8 at runtime anymore.
2011-01-05 15:36:55 +00:00
Edward Hervey
f53948b332 gstdatetime: Disable usage of GDateTime on MacOSX
GLib's GDateTime doesn't handle properly the gmt offset. Therefore
use our own internal version instead on MacOSX.

See bug #638666
2011-01-05 11:26:13 +01:00
Edward Hervey
36d44b3e52 pluginloader: Always mark reception as complete after EXIT
Avoids waiting forever on gst_poll_wait when using the select
backend.

Fixes #637057
2011-01-04 14:45:40 +01:00
Tim-Philipp Müller
98900a43c1 gstinfo: don't use printf extensions if GLib isn't using the system printf
Might help with https://bugzilla.gnome.org/show_bug.cgi?id=638599
2011-01-04 00:55:47 +00:00
Edward Hervey
4f94b94bff gstpoll: Fix for (p)select backend
We need to reset the revents field of each pollfd when reading the results
from select else we'll end up with stray info from previous calls to
select.
2011-01-03 20:37:59 +01:00
Tim-Philipp Müller
ee5b369ffd gstvalue: make new gst_value_list_merge() work properly
Fix freeing of partially-inited list value when both values
passed are equal and we want to return a single non-list
value as result. Fixes unit test. Also fix up docs a bit.

https://bugzilla.gnome.org/show_bug.cgi?id=637776
2011-01-03 15:57:20 +00:00
Stefan Kost
373be6f14e tags: don't produce duplicated entries when merging same value twice
Add a variant of gst_value_list_concat() that skips duplicates and use that when
merging taglists.

API: gst_value_list_merge()
2011-01-02 22:35:08 +00:00
Tim-Philipp Müller
8a7fc1d8c9 Revert "micro-optim: if (x) is cheaper than if (x > 0) for unsigned integers"
This reverts commit 6aa8ca37ee.

See http://article.gmane.org/gmane.comp.video.gstreamer.devel/32282
2010-12-26 21:21:43 +00:00
Michael Smith
bdb6a9aeec Fix GStatBuf definition for win32 when building against older glib.
Now matches upstream glib definition.
2010-12-22 16:36:50 -08:00
Tim-Philipp Müller
0e3410c100 miniobject: add gobject-introspection annotation 2010-12-22 22:36:05 +00:00
Sebastian Dröge
c81db31bfa taglist: Don't leak copies of empty strings 2010-12-19 12:49:58 +01:00
Edward Hervey
3efb73c121 gst: documentation fixups and annotation
Reported by enabling the --warn-all option of g-ir-scanner
2010-12-17 19:14:41 +01:00
Edward Hervey
6c37015a29 gstdatetime: Fix documentation
second => seconds
microsecond argument was dropped
2010-12-17 15:48:34 +01:00
Stefan Kost
eb56687a6d info: use the publicly visible address to fix the tests
The -Bsymbolic change causes us to get a different address when internaly
looking up the function than what application would get when the use the symbol
that they see. This made removing the default loghandler to fail, as it is set
internally and removed externaly.
2010-12-15 23:19:54 +02:00
Stefan Kost
4ef9bf1019 registry: maintain the typefind extension list order 2010-12-08 11:53:10 +02:00
Stefan Kost
4054ea491e docs: add () to xref the function. 2010-12-08 11:53:10 +02:00
Tim-Philipp Müller
cc55b9772b utils: remove some dead code, GST_DEBUG_COLOR is never defined 2010-12-07 19:35:55 +00:00
Tim-Philipp Müller
7b0e3356eb utils: const-ify arguments to gst_object_default_error() 2010-12-07 19:35:24 +00:00
Tim-Philipp Müller
711f2d8abb docs: gst_error_get_message() returns string in UTF-8, not current locale
We tell gettext to return everything in UTF-8 encoding.
2010-12-07 19:34:46 +00:00
Tim-Philipp Müller
3256c708be docs: gst: more gobject introspection annotations
Many of these are superfluous, added for clarity.
2010-12-07 18:37:04 +00:00
Tim-Philipp Müller
0eaa25cbf5 pad: register gst_pad_get_fixed_caps_func() with the debug log system 2010-12-07 18:37:04 +00:00
Stefan Kost
6e97957b60 plugin: recommend "--gst-disable-registry-fork" as well
Disabling forking helps with debugging the cause of the crash in gdb.
2010-12-07 12:59:16 +02:00
Wim Taymans
8bf6b0c3fe poll: return wakeup event in GPollFD 2010-12-06 11:20:35 +01:00
Mark Nauwelaerts
58868d4218 pad: add some debug to fast push path
... so we don't loose track at times it is needed the most.
2010-12-06 11:07:38 +01:00
Edward Hervey
c044024e2c gstbin: Make element names clearer in debug statements
Replaces confusing messages like:
 "Name name is not unique in bin bin, not adding"
by
 "Name 'name' is not unique in bin 'bin', not adding"
2010-12-05 14:15:02 +01:00
David Schleef
5cdcdaee07 registry: Fix permissions if umask is broken
Fixes: #564056.
2010-12-04 21:08:21 -08:00
David Schleef
66d2781877 Use g_snprintf() instead of snprintf() 2010-12-03 11:29:30 -08:00
Wim Taymans
bf979b0036 clock: init variables in _reinit()
Properly initialize variables in _reinit() too
2010-12-03 16:11:05 +01:00
Wim Taymans
ba7157dce6 clock: make sync clock wait lockfree
Make the common case lockfree.
2010-12-03 16:11:04 +01:00