Commit graph

26 commits

Author SHA1 Message Date
Arun Raghavan
8fc424bcbf discoverer: Chain dispose() up to parent class 2011-02-22 13:49:12 +01:00
Arun Raghavan
8d2b69384a discoverer: Keep a ref for the async timeout callback
This makes sure we maintain a ref on the discoverer object while the
async timeout callback is alive to prevent a potential crash if the
object is freed while the callback is pending.

https://bugzilla.gnome.org/show_bug.cgi?id=641706
2011-02-22 13:49:12 +01:00
Arun Raghavan
40c4fe8fbe discoverer: Use g_signal_connect_object instead of g_signal_connect
We want to make sure the discoverer object passed to the various
callbacks doesn't become invalid if a callback is pending and the object
is free'd in the mean time.

https://bugzilla.gnome.org/show_bug.cgi?id=641706
2011-02-22 13:49:12 +01:00
Stefan Kost
7e06d35250 discoverer: don't leak parent tags 2011-02-16 12:01:03 +02:00
Stefan Kost
c201ff3de3 discoverer: improve logging (and reindent)
Add more logging for the tag merging and use the _OBJECT flavour more.
2011-02-16 12:01:03 +02:00
Arun Raghavan
e9ff48376b discoverer: Use nominal bitrate if bitrate tag is unavailable
If the bitrate tag is unavailable, this falls back to the nominal
bitrate tag instead, if that is present.

https://bugzilla.gnome.org/show_bug.cgi?id=641860
2011-02-10 09:58:34 +02:00
Arun Raghavan
6ac2e5d384 discoverer: Drop new stream tags once preroll is done
This makes sure we do not touch the stream taglist once the pipeline has
been prerolled. Adding of stream tags happens in the pad event probe
which runs in a different thread from discoverer stream processing, so
modifying the tag list while discoverer might be processing it can
sometimes cause a crash.

https://bugzilla.gnome.org/show_bug.cgi?id=639778
2011-01-17 23:50:45 +00:00
Arun Raghavan
65a298fdee discoverer: Validate timeouts before processing them
This avoids a race where the timeout callback is scheduled to run but we
get sufficient information to finish discovery before actually getting
around to executing the callback. See the documentation of
g_source_is_destroyed() for more details.

https://bugzilla.gnome.org/show_bug.cgi?id=639730
2011-01-17 23:50:45 +00:00
Arun Raghavan
e730ce71dc discoverer: Make sure we call _stop() before being freed
This ensures that everything is properly cleaned up before the
GstDiscoverer object is freed. Specifically, it makes sure that we've
removed the async timeout callback before freeing the object to avoid a
potential crash later on.

https://bugzilla.gnome.org/show_bug.cgi?id=639755
2011-01-17 23:50:45 +00:00
Arun Raghavan
19d4a5ab4d discoverer: Documentation updates
Some cosmetic changes and expands on some bits of the documentation to
make it more newbie-friendly.
2011-01-06 15:33:14 +01:00
Edward Hervey
9f6bcdd5ee pbutils: More gtk-doc annotations 2010-12-21 18:52:04 +01:00
Edward Hervey
76afffd55f gstdiscoverer: Don't leak tags 2010-12-19 13:45:01 +01:00
Stefan Kost
4e8956c9f1 discoverer: query seekability
Besides the duration we can also query the seekability of a stream. Use the new
API in the gst-discoverer tool.

API: gst_discoverer_info_get_seekable
2010-12-13 17:03:25 +02:00
Stefan Kost
ecb164675d docs: fix wrong use of Since: keyword 2010-12-08 12:11:23 +02:00
Tim-Philipp Müller
78f33715ff libs: use GLib 2.22 API unconditionally 2010-12-04 14:45:58 +00:00
Arun Raghavan
5cb8b39c2c discoverer: Fix a gtk-doc gobject-introspection annotation
gst_discoverer_discover_uri() expects the caller to unref the returned
GstDiscovererInfo object. The corresponding gtk-doc annotation was not
updated to reflect this.
2010-11-08 11:44:28 +00:00
Edward Hervey
65cfcffbc0 discoverer: Get pad caps if we can't get negotiated caps
Better provide something than nothing

https://bugzilla.gnome.org/show_bug.cgi?id=632988
2010-10-24 16:19:09 +02:00
Tim-Philipp Müller
45ae532162 pbutils: make marshaller private
There's no reason to make the marshaller public API. Don't install
pbutils-marshal.h header file and use prefix that makes sure the
symbol doesn't get exported.
2010-10-15 19:58:04 +01:00
Tim-Philipp Müller
beae0db284 docs: improve gst_discoverer_new() docs a bit 2010-10-15 17:23:44 +01:00
Tim-Philipp Müller
b5f6f4873b discoverer: private structs need to padding 2010-10-15 16:43:41 +01:00
Edward Hervey
a356bb268d pbutils: rename gstdiscoverer-private.h to pbutils-private.h 2010-10-08 15:27:44 +02:00
Edward Hervey
6ecbdab1fe discoverer: Fixup DiscovererResult handling
This was a leftover from the changes from a flag to an enum
2010-09-22 12:57:22 +02:00
Edward Hervey
3912e59488 discoverer: We don't need the signals from the queues 2010-09-22 12:10:24 +02:00
Stefan Kost
784d7be363 discoverer: fix docs
While the doc parser allows for certain variation, it is a good idea to not
use random characters here and there, but try to stick to the little markup
syntax there is.
2010-09-20 21:04:48 +03:00
Edward Hervey
f2d522670e discoverer: Fix debug statement.
Fixes build on macosx
2010-09-20 16:45:32 +02:00
Edward Hervey
30b3cf8823 pbutils: New Discoverer utility
Fixes #625944
2010-09-20 13:11:42 +02:00